Woody Allen said that time was nature's way of keeping everything from happening at once. An operating system is how we keep different processes running on a machine from happening at once.

In this course, we will study concurrent processes, process communication, input/output devices, memory management, resource allocation and scheduling, and alternative file system implementations. There will be a mix of theoretical work, and practical examination of the source code for Minix, a working operating system that students will study and modify in a series of small projects.


Prerequisites: CS 102 (or concurrently), CS 202
Suggested course(s) to take next: CS 311, CS 312

The difference between practice and theory is greater in practice than it is in theory.
-- Prof. Parker

Of course, Linus didn't sit down in a vacuum and suddenly type in the Linux source code.... He had my book.... But the code was his. The proof of this is that he messed the design up.
-- Andrew Tanenbaum, designed of Minix