The course schedule is tentative and subject to change.
Week | Monday | 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 |