Princeton University
Computer Science Department

Computer Science 318
Operating Systems

Vivek Pai

Fall 2001


Course Summary

A study of the design and analysis of operating systems. Topics include: processes, mutual exclusion, synchronization, semaphores, monitors, deadlock prevention and detection, memory management, virtual memory, processor scheduling, disk management, file systems, security, protection, distributed systems. Prerequisites: COS 217 and 226 or instructor's permission.

Note: this course was previously taught by Professor Kai Li, and much of the material in both the lectures and projects is derived from that time.


Administrative Information

Lectures: TTh 1:30-2:50, Room: TBA

Professor: Vivek Pai - 322 CS Building - 258-2086 vivek@cs.princeton.edu

Undergraduate Coordinator: Tina McCoy - 410 CS Building - 258-1746 tmmccoy@cs.princeton.edu
Teaching Assistants: TBA


September

 S   M   T   W   T   F   S
--  --  --  --  --  --   1
 2   3   4   5   6   7   8
 9  10  11  12  13  14  15
16  17  18  19  20  21  22
23  24  25  26  27  28  29
30  --  --  --  --  --  --

13 - lecture 1 - Introduction (ppt, jpg)

18 - lecture 2 - Overview (ppt, jpg)
18 - Project 1 assigned (ppt, jpg)
20 - lecture 3 - OS Structure & Processes (ppt, jpg)

25 - lecture 4 - System calls & libraries (ppt, jpg)
27 - lecture 5 - Filesystem introduction (ppt, jpg)
 

October

 S   M   T   W   T   F   S
--   1   2   3   4   5   6
 7   8   9  10  11  12  13
14  15  16  17  18  19  20
21  22  23  24  25  26  27
28  29  30  31  --  --  --

02 - lecture 6 - Filesystems continued - metadata (ppt, jpg)
03 - Project 2 assigned (ppt, jpg)
04 - lecture 7 - Mounting, paths, caching (ppt, jpg)

09 - lecture 8 - Virtual memory (ppt, jpg)
11 - lecture 9 - Page replacement algorithms (ppt, jpg)

16 - lecture 10 - Was intended to be memory-mapped files (ppt, jpg)
16 - Project 3 assigned
17 - reference solution for Project 1 available (thanks to Ramesh and Brian)
18 - lecture 11 - Unified file/VM systems (ppt, jpg)

23 - lecture 12 - Fork and exec (ppt, jpg)
25 - midterm exam

30 - holiday

November

 S   M   T   W   T   F   S
--  --  --  --   1   2   3
 4   5   6   7   8   9  10
11  12  13  14  15  16  17
18  19  20  21  22  23  24
25  26  27  28  29  30  --

01 - holiday

05 - last day to report midterm grades

06 - lecture 13 - Process scheduling (ppt, jpg)
08 - lecture 14 - Pre-emptive scheduling (ppt, jpg)

13 - lecture 15 - Threads and critical sections (ppt, jpg)
15 - lecture 16 - Race conditions and deadlocks

20 - lecture 17 - Basic networking (ppt, jpg)
22 - holiday

26 - last day to drop class or rescind P/D/F option

27 - lecture 18 - Interprocess communication (ppt, jpg)
29 - lecture 19 - Device drivers, expandability, customization (ppt, jpg)
 

December

 S   M   T   W   T   F   S
--  --  --  --  --  --   1
 2   3   4   5   6   7   8
 9  10  11  12  13  14  15
16  17  18  19  20  21  22
23  24  25  26  27  28  29
30  31  --  --  --  --  --

04 - lecture 20 - Event-driven programming (ppt, jpg)
06 - lecture 21 - NFS, distributed system issues (ppt, jpg)

11 - lecture 22 - pick up slack
13 - lecture 23 - Wrapup
 

January

 S   M   T   W   T   F   S
--  --   1   2   3   4   5
 6   7   8   9  10  11  12
13  14  15  16  17  18  19
20  21  22  23  24  25  26
27  28  29  30  31  --  --

15 - Dean's date deadline for written work

16-26 final exams