Profs: Mae Milano and Amit Levy
This course provides a comprehensive introduction to the principles and practice of operating systems. We will cover topics such as processes, virtualization, memory management, concurrency, and I/O. The course will emphasize both theoretical foundations and practical implementation.
Understand the fundamental concepts of operating systems
Gain experience in designing and implementing operating systems components
Develop skills in analyzing and evaluating operating systems performance
Appreciate the role of operating systems in modern computing environments
Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
Homework (10%) Programming Assignments (40%) Midterm Exam (25%) Final Exam (25%)
Summary: you have 3 late days; default penalty is 10% per day (after late days are applied).
Detail:
By default, each day (24-hour period) an assignment is late will incur a 10% late penalty. Late penalties are not pro-rated; an assignment submitted n*24 + m (where 0 < m < 24) hours late will receive n+1 days of penalty.
Up to three assignments may be submitted up to 24-hours late without penalty, via our “late day” policy.
Late day policy: Each student is allocated three “late days.” Each “late day” grants the ability to submit an assignment 24 hours late, without late penalty. The course staff will optimally allocate late days at the end of the semester, to minimize late penalties incurred on all assignments.
Week of |
Tuesday |
Chapters |
Thursday |
Chapters |
Assignment |
---|---|---|---|---|---|
Jan. 27 |
What is an OS? |
2 |
Process model |
4 |
Warmup |
Feb. 3 |
UNIX Process API |
5 |
Shell (due 2/6) |
||
Feb. 10 |
6-7 |
8-10 |
Scheduler (due 2/20) |
||
Feb. 17 |
13-15 |
18-20 |
Virt. Mem. | ||
Feb. 24 |
Swapping |
21-22 |
Alt. HW Protection |
16 |
|
Mar. 3 |
Alt. mem. protection |
Midterm |
|||
Mar. 10 |
Spring break |
Spring break |
|||
Mar. 17 |
Threads |
26 |
p-threads |
27 |
Threads |
Mar. 24 |
Locks |
28-29 |
Condition Variables |
30 |
|
Mar. 31 |
Semaphores |
31 |
Alt. concurrency |
Server |
|
Apr. 7 |
More primitives |
Concurrency Bugs |
32 |
pzip |
|
Apr. 14 |
Storage |
36,39,40 |
Storage |
43,48-50 |
FS Checker |
Apr. 21 |
Networking |
Networking |
TCP/IP |
||
Apr. 28 |
Reading period |
Reading period |
|||
May 5 |
Dean’s date |
The future of OSs |
|||
May 12 |
Finals |
Finals |
Academic integrity is taken very seriously by COS 417; a detailed policy, including references to chatGPT, is forthcoming
This syllabus is subject to change at the discretion of the instructor. Any modifications will be announced in class and posted on the course website.