|DATE||TOPIC||READING||NOTES & LINKS|
|9/5||Course Overview & Introduction, Pintos Introduction Session||Ch. 1||Syllabus, Pintos Documentation|
|9/12||Operating System Structures, Project 1 - Threads Session||Ch. 2||Group Assignments Complete|
|10/3||Process Synchronization||Ch. 5|
|10/10||CPU Scheduling||Ch. 6||Project 1 - Threads Due|
|10/17||Project 2 - User Programs Session||Midterm Exam (online)|
|10/24||Main Memory||Ch. 7|
|10/31||Virtual Memory||Ch. 8|
|11/7||Mass Storage Systems||Ch. 9|
|11/14||Project 3 - Virtual Memory Session||Project 2 - User Programs Due|
|11/28||File System Interface & Implementation||Ch. 10 & 11|
|12/5||I/O Systems||Ch. 12|
|12/12||Protection & Security||Ch. 13 & 14|
|12/19||Project 3 - Virtual Memory Due, Project 4 - Filesystems Due (graduate only), Final Exam (online)|
Please refer to the Syllabus for more details on the course, grading, schedule, etc.. This page is meant only as a summary and quick-reference.
The course follows a bottom up construction of a general-purpose operating system beginning with the hardware interface and ending with the user interface. Specific topics covered include concurrent processes, process management, I/O, virtual memory, file management, resource scheduling, and performance measurement. Students are assumed to be familiar with general machine architecture, functions of system software (compilers, loaders, editors, etc.), data structures, and to have some experience with UNIX or another multiprogramming operating system.
The class is dual-listed as an undergraduate (COS 450) and graduate course (COS 550); graduate students will have additional reading and must prepare a presentation for the class (see below).
subscribe via RSS