Class Lectures and Reading Assignments
CS 30200 / ECE 46810
Operating Systems
Spring, 2022

This page documents what we do in class. It contains C programs that we will discuss in class, reading assignments from our textbook, simple homework exercises that you can work on for practice and exam preparation (not for credit), links to other sources of information, etc.

The reading assignments and practice problems are listed by the date on which they were assigned. The sample program files are listed by the date on which they were used. When you are viewing a source code page, you can use your browser's "File -> Save As..." menu item to save a copy of the code on your computer. It is a good idea for you to "play" with these example programs; compile them, run them, make simple changes to them and compile and run them again.

The second exam is a week from today, on Monday, May 2 (according to the university's final exam schedule). Here are sample questions for the exam.

Read Chapter 21 from our operating systems textbook.

Here is some additional information about paged virtual memory.

Here are the paging pictures that we created in class Monday.

Here are the paging pictures that we created in class Wednesday.

The second exam is Monday, May 2 (according to the university's final exam schedule). Here are sample questions for the exam.

Read Chapters 16 & 18 from our operating systems textbook.

Here is some additional information about segments.

Read Chapter 15 from our operating systems textbook.

Here is some additional information about the base and bounds form of address translation.

Today we will continue talking about the multi-level feedback queue scheduler.

Here are explanations, from Microsoft, of the multi-level feedback queue scheduler from Windows Vista and Windows 7.

For next week, read Chapters 12 & 13 from our operating systems textbook.

See the homework assignment page for your fourth programming assignment.

Today we will look at round-robin scheduling examples.

Today we will calculate several example schedules from the textbook.

The midterm exam is today.

For next week, read Chapter 8 from our operating systems textbook.

Remember that the first midterm exam is this Wednesday, March 30. Here is the file that contains review questions for the exam.

Today we will begin Chapter 7 from our operating systems textbook.

The following zip file contains sample code and information about Windows cpu scheduling.

Read Chapter 7 from our operating systems textbook.

Spring Break - No class today.

Spring Break - No class today.

We will start to go over the following code that demonstrates the idea of system calls from Section 6.2 of Mechanism: Limited Direct Execution.

I have updated the course syllabus to change the date of the first midterm exam to March 30 (from March 9). That will be well after spring break and give you time to study the exam review material.

Here is a file that contains some review questions for the midterm exam (I may still update this file).

We will start to go over the following code that demonstrates the idea of system calls from Section 6.2 of Mechanism: Limited Direct Execution.

Read Chapter 6 from our operating systems textbook.

Today we will go over the following code that demonstrates the idea of process states from Section 4.4 of The Abstraction: The Process.

Class will meet at 12:30 on campus in the Anderson building, Room 148.

Today we will go over the following code that demonstrates the idea of process states from Section 4.4 of The Abstraction: The Process.

Class will meet at 12:30 on campus in the Anderson building, Room 148.

See the homework assignment page for your third programming assignment.

We will continue with the C code in the following zip file which shows how to write code that creates Windows processes.

We will continue with the C code in the following zip file which shows how to write code that creates Windows processes (which is what your third programming assignment will be about).

Today we will look at the C code in the following zip file which shows how to write code that creates Windows processes (which is what your third programming assignment will be about).

Class will meet at 12:30 on campus in the Anderson building, Room 148.

Today we will look at the examples in the sub folders called "scanf & printf" and "const in C vs final in Java".

For next week, read Chapter 4 from our operating systems textbook.

Class will meet at 12:30 on campus in the Anderson building, Room 148.

Today we will look at these examples, which are the basis for the second programming assignment.

Because of the weather, class met at 12:30 using the Zoom application.

Here is a link to today's video lecture.

Here is one more good reference about pointers and memory.

Here are the code examples we used in class today.

Class will meet at 12:30 on campus in the Anderson building, Room 148.

See the homework assignment page for your second programming assignment.

Today we will begin looking at how C uses pointers to pass values into and out of functions. In particular, we will look at how C functions pass arrays and structs. These examples are the basis for the new programming assignment.

Read the following chapter about pointers and memory.

Here is a link to today's video lecture.

NOTE: Starting Monday of next week, we will be meeting in a classroom on campus (we will meet in Anderson Bldg, Room 148). When we meet on campus, there will be no Zoom component to the class.

Today we will continue to look carefully at how C uses pointers to arrays and structs.

Here are a few useful explanations of the relationships between arrays, structs, and pointers.

Here are links to the two file comparison (diff) programs I mentioned in class.

Here is a link to today's video lecture.

Today we will start to look carefully at how C uses pointers to arrays and structs.

Here is a link to today's video lecture.

Today we will look at the C code in the sub-folders that accompany hw1.

Read this brief, but well written, introduction to the Windows command-line.

For next week read (at least) one of the following chapters about pointers.

For practice, do these exercises at the end of Chapter 6 from Programming in C.

No class today, Martin Luther King Jr. Day.

Here is a link to today's video lecture.

See the homework assignment page for your first programming assignment.

To help you prepare for the first homework assignment, read the following appendix from the operating systems textbook.

Today we will look at the C code in the following zip file. These examples are very similar to hw1.

If you want to add the "Open command window here" option to the right-click menu for Windows folders, then download the following zip file (which comes from this article) and double click on its included ".reg" file.

Here is a link to today's video lecture.

Read Chapter 2, Sections 2.1 and 2.2 (pages 1-6) and Chapter 4, about processes, from our operating systems textbook.

Read Chapter 2 from Programming in C

The following zip file contains code for examples very similar to your first programming assignment.

Here is a link to a zip file that contains a C compiler that we will use in this course. Download this zip file and unzip it into the top level of your C:\ drive. We will go over in class how to use this compiler.

Here is a link to an online, educational C compiler that we will use.