Instructor: Boon Thau
Room: Wu and Chen Auditorium.
Time: Tuesday and Thursday 1:30-3pm.
Office hours: Friday 2-3pm (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 course is an introduction to the theory and practice behind modern computer operating systems. Topics will include what an operating system does (and doesn't) do, system calls and interfaces, processes, concurrent programming, resource scheduling and management (of the CPU, memory, etc.), virtual memory, deadlocks, distributed systems and algorithms, networked computing and programming, and security. 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?).
Class participation will be graded based on regular class attendence, visibility on newsgroup, and contribution to group projects.
Visit our Piazza website for more up-to-date information, including links to lecture notes, course resources, etc.
|Aug 30||Introduction||Chapter 1|
|Sept 1||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 Sept 15)|
|Sept 6||Processes and threads||Chapter 2.1-2.2.|
|Sept 8||Concurrent programming and IPC||Chapter 2.3, 2.5|
|Sept 13||Synchronization mechanisms and mutual exclusion|
|Sept 15||Interprocess communication and synchronization||Project 1 (milestone Oct 1, due Oct 13)|
|Sept 20||Scheduling||Chapter 2.4|
|Sept 22||Scheduling (continue)||Chapter 2.4||Homework 0 (due Sept 29)|
|Sept 27||Resources and deadlocks||Chapter 6|
|Sept 29||Exam review, Memory Management||Chapter 3.1-3.3|
|Oct 4||Midterm 0||Cover all material up till Oct 4|
|Oct 11||Memory Management||Chapter 3.1-3.3|
|Oct 13||NO CLASS||Instructor out of town|
|Oct 18||Memory Management (continue)|
|Oct 20||TLBs, Page replacement||Final project (milestones Nov 3/4, Nov 17/18, due Dec 5)|
|Oct 25||Page replacement algorithms; thrashing||Chapter 3.4|
|Oct 27||TA-led project discussion|
|Nov 1||I/O and devices, Disks, terminals and networks||Chapter 5|
|Nov 3||File systems||Chapter 4|
|Nov 8||File Systems (continue)|
|Nov 10||NO CLASS||Instructor out of town|
|Nov 15||File Systems (continue)||Homework 1 (due Nov 22)|
|Nov 17||Remote Procedure Calls, communication protocols|
|Nov 22||Network programming (TCP/IP stack and sockets), Distributed File Systems|
|Nov 29||Advanced topics (TBA)|
|Dec 1||NO CLASS||Instructor out of town|
|Dec 6||Final project demo|
|Dec 8||Midterm 1||Covers all material after the break|