Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|
Jan 2 | Jan 3 Introduction, OS Abstractions (slides) PREP: Read The Evolution of the Unix Time-Sharing System, optionally read Multi-threading and Fork. SG: chapter 1, pipe man page, Interrupted Primitives OUT: Lab 1: Initializing PC Hardware | Jan 4 | Jan 5 System Calls and Threads (slides) | Jan 6 ..continued. PREP: Read xv6 chapter 0. |
Jan 9 | Jan 10 ..continued. PREP: do homework | Jan 11 | Jan 12 Scheduling Policies (slides) | Jan 13 x86 Processor Basics (slides, handout) PREP: Read xv6 chapter 1 and optionally IA-32 guide |
Jan 16 | Jan 17 ..continued PREP: do homework | Jan 18 | Jan 19 Processes and Memory Allocation (MMU, paging) PREP: Read xv6 chapter 2, Process Anatomy; SG: 3.1-3.3 | Jan 20 Address Translation (slides) PREP: Read 80386 chapter 3, |
Jan 23 | Jan 24 ..continued PREP: do homework (l3-pointers.c) | Jan 25 | Jan 26 Republic Day OUT: Lab 2: Pintos Userprog Assignment DUE: Lab 1 | Jan 27 Process Creation |
Jan 30 | Jan 31 Modes, Stacks, and Traps (handout) PREP: Read xv6 chapter 3, do homework | Feb 1 | Feb 2 ..continued | Feb 3 MINOR1 TESTS (solutions) |
Feb 6 | Feb 7 MINOR1 TESTS (2010, 2010-solutions) | Feb 8 | Feb 9 Context Switching PREP: Read xv6 chapter 5 through section "Code: Scheduling" with proc.c, setjmp.S, and sys_fork (in sysproc.c) SG: chapter 5 | Feb 10 Multiprocessors and Locking PREP: Read xv6 chapter 4 with spinlock.c and skim mp.c Recursive vs. Non-Recursive Locks |
Feb 13 | Feb 14 ..continued PREP: No homework this week, yay! SG: chapter 9 Return of Minor-1 scripts | Feb 15 | Feb 16 Abstracting Synchronization OUT: Lab 3: Pintos VM Assignment DUE: Lab 2 | Feb 17 Midterm Presentations |
Feb 20 | Feb 21 Monday Time Table | Feb 22 | Feb 23 ..continued PREP: Read Kaashoek's concurrency notes (internal link); do homework. | Feb 24 Process Coordination PREP: Read rest of xv6 chapter 5; read remainder of proc.c and sys_wait, sys_exit, sys_kill. SG: chapters 6, 7 |
Feb 27 | Feb 28 VM Swapping and Page Replacement (l10, l11). Advanced Reading: "CAR: CLOCK with Adaptive Replacement" (PDF, PDF of Presentation) SG: chapter 9 | Feb 29 | Mar 1 Pintos VM Assignment | Mar 2 No lecture (Start on VM assignment) |
Mar 5 | Mar 6 Semester Break | Mar 7 | Mar 8 Holi | Mar 9 Semester Break |
Mar 12 | Mar 13 Page Replacement (l12) PREP: do homework (No need to turn in anything! Just practice on your own.) | Mar 14 | Mar 15 Files and Disk I/O PREP: readi, writei, filewrite, fileread, dirlink, create, and code related to these system calls in fs.c, bio.c, ide.c, sysfile.c, and file.c. Commentary on these functions in xv6 chapter 6 and chapter 7 SG: chapters 12, 13 | Mar 16 ..contd |
Mar 19 | Mar 20 ..contd PREP: No homework this week, study for Minors! OUT: Lab 4: Pintos Filesys Assignment DUE: Lab 3 | Mar 21 | Mar 22 MINOR2 TESTS | Mar 23 MINOR2 TESTS (2010) |
Mar 26 | Mar 27 Thrashing (l13) | Mar 28 | Mar 29 File Naming (exercise) PREP: Read namei in fs.c (and remainder of fs.c), sysfile.c, file.c. Commentary on these functions in xv6 chapter 7 and chapter 8 2009 Lecture Slides UNIX File Permissions Sticky Bit SG: chapters 10, 11 | Mar 30 Program Loading and Dynamic Linking PREP: Read xv6 chapter 9 Return of Minor-2 scripts |
Apr 2 | Apr 3 Crash Recovery and Logging PREP: do homework | Apr 4 | Apr 5 Mahavir Jayanti | Apr 6 Good Friday |
Apr 9 | Apr 10 File system performance and reliability PREP: Read Journaling the Linux ext2fs Filesystem | Apr 11 | Apr 12 Operating System Structure (slides) SG: chapter 2 | Apr 13 Performance and durability PREP: Read Rethink the sync |
Apr 16 | Apr 17 ..contd. | Apr 18 | Apr 19 Multi-processor coordination: lock free PREP: Read Read-Copy-Update, optionally Address Space Using RCU Trees | Apr 20 ..contd. |
Apr 23 | Apr 24 ..contd. | Apr 25 | Apr 26 Scheduling PREP: Read Eliminating Receive Livelock | Apr 27 ..contd. |
Apr 30 DUE: Lab 4 | May 1 Virtual Machines (slides) PREP: Read Software vs Hardware Virtualization (optional) | May 2 | May 3 | May 4 |