CS 385: Operating System Concepts and Design

Handouts (available only at UIC)

If you are a UIC student who is connected through a non-UIC ISP, you can get these handouts via either of two techniques. If you have a fast connection then a) login to a uic machine, b) set DISPLAY to the machine you are working on, c) run netscape, d) save the file, e) copy the file to your local machine. Otherwise, just use UIC dialin accounts to download the files needed. Last time I taught the course there were the following handouts

Course work

The course work consists of:

  • 4 Programs
  • 2 tests
  • 1 final

Tests will cover conceptual issues from kernel design and programming techniques covered.

Academic integrity

Students who are caught cheating will immediately fail the course, and have the cheating recorded in their record--if they admit to cheating. Students who already have been caught cheating will go through disciplinary hearings, with the goal of having them expelled from the university.

Students who fail to demonstrate on tests an understanding of the programs they have handed in will fail the course.

You are not to show your program to anyone nor to look at anyone else's program. You may discuss programming concepts but only in general term.

Covered topics

This course covers operating systems at the conceptual and implementation viewpoints.


  1. Independent Processes and Kernels and their implementation
  2. Coordinating Processes
  3. Concurrency, Synchronization
  4. Deadlock, Deadlock detection and avoidance
  5. Memory Management
  6. File Systems
  7. Protection