Announcements

The midterm Exam

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


Persistent Announcements

We now have a standard ofice hours schedule: We will be updating this website with additional information on office hours as it becomes available.

COS 417: Operating Systems

Course Staff:

Profs: Mae Milano and Amit Levy

TAs: A Zhou, A Zhang, P Wang

Course Description:

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.

Course Objectives:

Textbook:

Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau

Grading:

Homework (10%) Programming Assignments (40%) Midterm Exam (25%) Final Exam (25%)

Late Policy:

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.

Course Schedule:

e

Week of

Tuesday

Chapters

Thursday

Chapters

Assignment

Jan. 27

What is an OS? (notes)

2

Process model

4

Warmup; shell released

Feb. 3

UNIX Process API

5

Alternatives

Shell (due 2/6)

Feb. 10

Scheduling

6-7

Scheduling

8-9

Scheduler (due 2/20)

Feb. 17

Memory

13-16

Malloc, free, slabs, and more

17-18

Virt. Mem. (due 3/17)

Feb. 24

Paging and the TLB

19-21

Swapping and mmap

21-22

Mar. 3

More mmap; review session

Midterm (practice exam)

Mar. 10

Spring break

Spring break

Mar. 17

Threads and code examples (0 1 2 3 4 5)

26

implementing locks

27

Virt Mem (due 3/20)

Mar. 24

OS,CV locks

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:

Academic integrity is taken very seriously by COS 417; a detailed policy, including references to chatGPT, is forthcoming

Disclaimer:

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.