Instructor: Boon Thau
Room: Towne 313.
Time: Monday and Wednesday 12-1:30pm
Office hours: Monday and Wednesday 1:30-2pm (605 Levine).
Newsgroup: We will be using Piazza for course-related discussions. Sign up here.
TA office hours (time and location) are listed here.
This is a masters-level project-oriented course that focuses on the design and implementation of modern computer operating systems. Topics will include what an operating system does system calls and interfaces, processes, concurrent programming, resource scheduling and management (of the CPU, memory, etc.), virtual memory, deadlocks, and file systems. We will approach the subject from both a theoretical perspective (what are the abstractions and algorithms?) as well as a practical one (what are the mechanisms and how are they built?). Advanced topics will include case studies of seminal operating systems research papers.
Class participation will be graded based on regular class attendence, visibility on piazza, and contribution to group projects.
Visit our Piazza website for more up-to-date information, including links to lecture notes, course resources, etc.
|Jan 11||Introduction||Chapter 1|
|Jan 18||Processes and system calls;
Unix system calls and process management
|Unix "man" pages for:
read(2), write(2), fork(2), execve(2),
execl(3), wait(2), exit(2)
|Project 0 (due Feb 1)|
|Jan 23||Processes and threads||Chapter 2.1-2.2.|
|Jan 25||Concurrent programming and IPC||Chapter 2.3, 2.5|
|Jan 30||NO CLASS||Instructor out of town|
|Feb 1||Interprocess communication and synchronization||Project 1 (milestone Feb 10, due Mar 3)|
|Feb 6||Scheduling||Chapter 2.4|
|Feb 8||Scheduling (continue)||Chapter 2.4|
|Feb 13||Resources and deadlocks||Chapter 6||Homework 0 (due Feb 20)|
|Feb 15||Memory Management||Chapter 3.1-3.3|
|Feb 20||Memory Management||Chapter 3.1-3.3|
|Feb 22||Midterm 0|
|Feb 27||Memory Management (continue)|
|Mar 13||TLBs, Page replacement|
|Mar 15||Page replacement algorithms; thrashing||Chapter 3.4|
|Mar 20||TA-led project discussion||Final project (milestones March 24, Apr 7, demo Apr 19)|
|Mar 22||I/O and devices, Disks, terminals and networks||Chapter 5|
|Mar 27||File systems||Chapter 4|
|Mar 29||NO CLASS||Instructor out of town|
|Apr 3||File Systems (continue)|
|Apr 5||NO CLASS||Instructor out of town|
|Apr 10||File Systems (continue)||Homework 1 (due Apr 22)|
|Apr 12||Advanced topics: Virtual machines||DISCO and Xen papers|
|Apr 17||Advanced topics: Log structured file systems|
|Apr 19||NO CLASS.||Final project demo day|
|Apr 24||Midterm review / buffer|
|Apr 26||Midterm 1||Covers all material after the break|