CS 571 Operating Systems (Spring 2020)

Course Schedule

The course schedule is tentative and subject to change.

WeekMonday Thursday
Week 1 Jan 20
MLK Day (NO CLASS)
Jan 23
Week 2 Jan 27
Lec 1: Introduction, process abstraction [slides] [slides+notes]
Reading: Intro and Process and Process API
Proj 0a and Proj 0b out
Jan 30
Week 3 Feb 3
Lec 2: LDE, thread abstraction [slides] [slides+notes]
Reading: LDE and Thread API
Feb 6
Proj 0a and Proj 0b due
Proj 1a out
Week 4 Feb 10
Lec 3: Synchronization I: locks, semaphore [slides] [slides+notes]
Reading: Concurrency and Locks and Semaphores
Feb 13
Week 5 Feb 17
Lec 4: Synchronization II: cv, classic sync problems [slides] [slides+notes],
Scheduling I: FIFO, SJF [slides] [slides+notes]
Reading: CV and Deadlocks and Scheduling (intro)
Feb 20
Proj 1a due
Proj 1b out
Week 6 Feb 24 (Traveling to FAST NO CLASS)
Lec 5a: CPU scheduling II: RR, priority, MLFQ [video] [slides] [slides+notes],
Lec 5b: Proj 1b (OS/161 sync) [slides] [video1] [video2 (src walkthru)] Reading: MLFQ and Lottery
Feb 27
Week 7 Mar 2
Lec 6a: Memory management I: address space, segmentation [slides] [slides+notes],
Lec 6b: Midterm review [slides]
Reading: Address space abstraction and Address translation
Mar 5
Proj 1b due
Week 8 Mar 9
Spring Recess (NO CLASS)
Proj 2 out
Mar 12
Week 9 Mar 16
Extended Spring Recess (NO CLASS)
Mar 19
Week 10 Mar 23
Midterm exam
Mar 26
Week 11 Mar 30
Lec 7a: Memory management II: paging [slides] [slides+notes] [video7a-1] [video7a-2],
Lec 7b: Memory management II: TLB [slides] [slides+notes] [video7b-1] [video7b-2] [video7b-3],
Lec 7c: Proj 2 (OS/161 syscall+sched) [slides] [video]
Reading: Paging and TLB
Apr 2
Week 12 Apr 6
Lec 8a: Memory management III: advanced PT [slides] [slides+notes] [video8a-1] [video8a-2],
Lec 8b: Memory management III: page faults and swapping [slides] [slides+notes] [video8b-1] [video8b-2],
Reading: Small tables and Swapping mechanisms
Apr 9
Week 13 Apr 13
Lec 8c: Memory management IV: page replacement policies [fifo+random] [fifo+random+notes] [video8c-1]
[belady] [belady+notes] [video8c-2]
[lru+clock] [lru+clock+notes] [video8c-3]
[misc.] [misc.+notes] [video8c-4]
Reading: Page replacement policies
Lec 9a: I/O I: I/O basics [io] [io+notes] [video9a]
Reading: I/O devices
Apr 16
Week 14 Apr 20
Lec 9b: I/O II: HDDs [slides] [slides+notes] [video9b],
Reading: HDDs
Lec 9c: I/O III: Disk scheduling [slides] [slides+notes] [video9c],
Reading: Disk sched (Ch 37.5)
Proj 2 due
Apr 23
Proj 3 out
Week 15 Apr 27
Lec 10a: I/O IV: Flash basics [slides] [slides+notes]
[video10a-1] [video10a-2] [video10a-3],
Reading: Flash SSDs
Lec 10b: I/O V: RAID [slides] [slides+notes]
[video10b-1-raid-basics] [video10b-2-raid0] [video10b-3-raid1] [video10b-4-raid4] [video10b-5-raid5],
Reading: RAID
Apr 30
Week 16 May 4
Lec 11a: File system I: APIs [slides] [slides+notes]
[video11a-1] [video11a-2],
Reading: File system intro
Lec 11b: File system II: implementation [slides] [slides+notes] [video11b-1] [video11b-2],
Reading: File system implementation
May 7
Proj 3 due
Week 17 May 11
Final review: [slides] [slides+notes]
May 14
Week 18 May 18
Final exam: 7:20 pm - 10:00 pm
May 21