Instructor: Boon Thau
Loo
Room: Moore 216
Time: Monday and Wednesday 12-1:30pm
Office hours: Monday and Wednesday 1:30-2pm (605 Levine), Tuesday 3:30-4:30pm (109C Towne).
Newsgroup: We will be using Piazza for course-related discussions. Sign up here.
Teaching assistants:
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.
Optional course textbook:
Course pre-requisites:
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.
Date | Topic | Reading | Remarks |
---|---|---|---|
Jan 10 | Introduction | Chapter 1 | |
Jan 17 | 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 (released on Jan 15, due Jan 22) |
Jan 22 | Processes and threads | Chapter 2.1-2.2. | |
Jan 24 | Processes and threads (cont) | Chapter 2.3, 2.5 | Project 1 (milestone Feb 2, due Feb 14) |
Jan 29 | Project 1 discussion | ||
Jan 31 | Scheduling | Chapter 2.4 | |
Feb 5 | Scheduling (cont) | Chapter 2.4 | |
Feb 7 | Memory Management | Chapter 3.1-3.4 | |
Feb 12 | Buffer | ||
Feb 14 | NO CLASS | Instructor out of town | |
Feb 19 | Memory Management | Chapter 3.1.3.4 | Project 2 (released Feb 16, due Mar 2) |
Feb 21 | Memory Management | Chapter 3.1-3.4 | |
Feb 26 | Interprocess communication and synchronization | Chapter 2.3, 2.5 | |
Feb 28 | Resources and deadlocks | ||
Mar 12 | Midterm review / buffer | ||
Mar 14 | Midterm | ||
Mar 19 | TA-led project discussion | Final project (released Mar 16, milestones March 21, Apr 4, demo Apr 18) | |
Mar 21 | Resources and deadlocks | ||
Mar 26 | I/O and devices, Disks, terminals and networks | Chapter 5 | |
Mar 28 | File systems | Chapter 4 | |
Apr 2 | File Systems (continue) | ||
Apr 4 | File Systems (continue) | ||
Apr 9 | Virtual Machines | ||
Apr 11 | Advanced topics | ||
Apr 16 | Advanced topics | Seminar papers in OS | |
Apr 18 | NO CLASS. | Final project demo day | |
Apr 23 | Midterm review / buffer | ||
Apr 25 | Midterm 1 | Covers all material after the break |