Logistics: The midterm exam will be during class time on Thursday, 3/6/2025. You may bring one double-sided sheet of 8.5x11 paper as a "cheat sheet".
Coverage: The exam will cover all material covered in lectures linked from the schedule, and all chapters listed on the schedule. Note that this does not include Chapter 10, the one about multiple processors.
Practice: We have released a practice test. We will also hold a review session in COS 105 on Wednesday night
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 |
2 |
Process model |
4 |
Warmup; shell released |
|
Feb. 3 |
5 |
Shell (due 2/6) |
|||
Feb. 10 |
6-7 |
8-9 |
Scheduler (due 2/20) |
||
Feb. 17 |
13-16 |
17-18 |
eVirt. Mem. (due 3/17) | ||
Feb. 24 |
19-21 |
21-22 |
|||
Mar. 3 |
Midterm (practice exam) |
||||
Mar. 10 |
Spring break |
Spring break |
|||
Mar. 17 |
26 |
27 |
Virt Mem (due 3/20) |
||
Mar. 24 |
28-29 |
Condition Variables |
30 |
Threads released (due 4/3); | |
Mar. 31 |
Semaphores |
31 |
Alt. concurrency |
Threads due (4/3); Server released (due 4/10) |
|
Apr. 7 |
More primitives |
Concurrency Bugs |
32 |
Server due (4/10); pzip released (due 4/17) |
|
Apr. 14 |
Storage |
36,39,40 |
Storage |
43,48-50 |
pzip due (4/17); FS Checker released (due 4/24) |
Apr. 21 |
Networking |
Networking |
FS Checker due (4/24); Networking released (due Dean's date) |
||
Apr. 28 |
Reading period |
Reading period |
|||
May 5 |
Dean’s date (networking due) |
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.