Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|
Dec 31 | Jan 1 | 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 System Calls and Threads (slides) |
Jan 7 | Jan 8 ..continued. PREP: Read xv6 chapter 0. | Jan 9 | Jan 10 ..continued. | Jan 11 x86 Processor Basics (slides, handout) PREP: do homework. Read xv6 chapter 1 and optionally IA-32 guide |
Jan 14 | Jan 15 ..continued | Jan 16 | Jan 17 Monday Time Table | Jan 18 ..continued |
Jan 21 | Jan 22 ..continued | Jan 23 | Jan 24 Address Translation (slides) PREP: do homework (l3-pointers.c), read 80386 chapter 3, | Jan 25 ..continued |
Jan 28 | Jan 29 ..continued OUT: Lab 2: Pintos User Programs | Jan 30 | Jan 31 Processes and Memory Allocation (MMU, paging) PREP: Read xv6 chapter 2, Process Anatomy; SG: 3.1-3.3 | Feb 1 ..continued |
Feb 4 | Feb 5 Minor Test 1 DUE: Lab 1 | Feb 6 | Feb 7 ..continued | Feb 8 ..continued |
Feb 11 | Feb 12 Process Creation PREP: do homework | Feb 13 | Feb 14 Modes, Stacks, and Traps (handout) PREP: Read xv6 chapter 3 | Feb 15 ..continued |
Feb 18 | Feb 19 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 20 | Feb 21 Multiprocessors and Locking PREP: Read xv6 chapter 4 with spinlock.c and skim mp.c Recursive vs. Non-Recursive Locks | Feb 22 Midterm Presentations OUT: Lab 3: Pintos Virtual Memory DUE: Lab 2 |
Feb 25 | Feb 26 ..continued PREP: do homework. SG: chapter 9 | Feb 27 | Feb 28 Abstracting Synchronization | Mar 1 ..continued PREP: Read Kaashoek's concurrency notes (internal link) |
Mar 4 | Mar 5 Mid-sem break | Mar 6 | Mar 7 Mid-sem break | Mar 8 Mid-sem break |
Mar 11 | Mar 12 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 | Mar 13 | Mar 14 VM Swapping and Page Replacement (l10, l11). Advanced Reading: "CAR: CLOCK with Adaptive Replacement" (PDF, PDF of Presentation) PREP: do homework SG: chapter 9 | Mar 15 No class |
Mar 18 | Mar 19 No class | Mar 20 | Mar 21 No class | Mar 22 Minor Test 2 |
Mar 25 | Mar 26 Page Replacement (l12) | Mar 27 | Mar 28 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 29 Good Friday DUE: Lab 3 |
Apr 1 | Apr 2 ..contd OUT: Lab 4: Pintos File System | Apr 3 | Apr 4 ..contd | Apr 5 ..contd |
Apr 8 | Apr 9 Crash Recovery and Logging | Apr 10 | Apr 11 ..contd PREP: do homework | Apr 12 File system performance and reliability PREP: Read Journaling the Linux ext2fs Filesystem |
Apr 15 | Apr 16 Performance and durability PREP: Read Rethink the sync, do homework | Apr 17 | Apr 18 Multi-processor coordination: lock free PREP: Read Read-Copy-Update, optionally Address Space Using RCU Trees | Apr 19 Ram Navami |
Apr 22 | Apr 23 ..contd. | Apr 24 | Apr 25 Thrashing (l13) | Apr 26 Scheduling Policies (slides) |
Apr 29 | Apr 30 Security and Access Control DUE: Lab 4 | May 1 | May 2 | May 3 |