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

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 due date for the last programming assignment has been changed to Wednesday, May 2.

I updated the review problems a bit.

The following zip file contains sample code and information about Windows virtual memory.

Read just Section 16.1 from Chapter 16.

Read Sections 18.1 - 18.3 from Chapter 18.

The second exam is on Monday, April 30 (according to the university's final exam schedule). Here is a file that contains sample questions for the exam.

Read Chapters 13 and 15 from our operating systems textbook.

Here is a very detailed explanation of Windows scheduling.

See the homework assignment page for your third programming assignment.

Read Chapter 8 from our operating systems textbook.

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

The midterm exam is today.

The first midterm exam will be Wednesday, April 4. Here is a file that contains sample questions for the midterm exam.

The following zip file contains explanations and sample code about simple forms of inter-process communication.

Spring Break - No class today.

Spring Break - No class today.

The following zip file contains sample code about system calls (see Section 6.2 from Mechanism: Limited Direct Execution).

Read Chapter 7 from the textbook.

The following zip file contains sample code that demonstrates the idea of process states from Section 4.5 of The Abstraction: The Process.

The following zip file contains the simple "batch" files that we analyzed in class.

Read Chapter 6 from our operating systems textbook.

See the homework assignment page for your second programming assignment.

Read Chapter 4 from our operating systems textbook.

The following zip file contains sample code for creating Windows processes.

Here is a link to the "C Tutor" version of the funny example we used in class.

Here is a website, Compiler Explorer, that lets you look at the compiler's assembly language listing for the above example. You can see that when the first printf() gets uncommented, the variables x and y move closer together.

Read Chapter 2 from our operating systems textbook.

See the homework assignment page for your first programming assignment.

No class today, Martin Luther King Jr. Day.

The following zip file contains some sample C code.

To help you prepare for the first homework assignment, read the following section from the course textbook.

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 are links to two online, educational C compilers that we will use.

Here is a link to a third educational C compiler that we will use.