CS421 Fall 1998 Syllabus

(This is an outline. Some changes may occur, if academically desirable).

The primary objectives of this course are to study the basic concepts involved in computer Operating Systems. This includes, among others, issues of I/O, inter-process communication, concurrency, deadlock, memory management, filesystems, and CPU scheduling.

Hands on experience will be gained by coding various projects using Unix system calls and library functions. To further enhance your understanding of the material, some of the projects will have you simulate/implement some of the OS algorithms discussed in class.

In all of the following chapters, we will be paying closest attention to the base material, and the Unix case studies. We will also touch on the NT case studies.

  1. Operating systems basics and overview. [Stallings, Chap 2.]
  2. System basics, especially registers, interrupts and I/O basics. [Stallings, Chap 1.]
  3. The Process. [Stallings, Chap 3.]
  4. Threads. [Stallings, Chap 4 and Pthreads Programming, Chap 1, 2.]
  5. Concurrency, Mutual Exclusion, Synchronization, Deadlock. [Stallings, Chap 5, 6 and Pthreads Programming, Chap 3.]
  6. Memory subsystem issues. [Stallings, Chap 7, 8.]
  7. Files and filesystems. [Stallings, Chap 11, 12.]
  8. Scheduling. [Stallings, Chap 9, 10.]
  9. Security. [Stallings, Chap 15.]
  10. Other topics (Networking, distributed systems, etc.) as time permit.

Back to CS421 Home Page
Davin Milun <milun@cs.buffalo.edu>