I'll screen-record lectures and post a link to them, but keep in mind that sometimes technical difficulties cause problems with those recordings.
Monday | Tuesday | Wednesday | Thursday |
Jan 21 | Jan 22 |
Jan 23 LEC 1: Operating systems (slides, video—no sound) (handouts: xv6 source, xv6 book) Preparation: Unix intro Assignment: Lab 1: C, Assembly, Tools, and Bootstrapping |
Jan 24 |
Jan 28 LEC 2: PC hardware and x86 programming (slides, video) Preparation: Read Bootstrap/PC hardware appendices and the related xv6 source files Assignment: HW 1: Boot xv6 |
Jan 29 | Jan 30 LEC 3: C and gdb (slides, video—missing video from 15 min. on)) Due: HW 1: Boot xv6 Preparation: Read 2.9 (Bitwise operators), 5.1 (Pointers and Addresses) through 5.5(Character Pointers and Functions) and 6.4 (pointers to structures) in K&R Assignment: HW 2: shell Assignment: Lab 2: Memory management |
Jan 31 DUE: Lab 1 |
Feb 4 LEC 4: Shell & OS organization (slides, video) Preparation: Read chapter 0 of the xv6 book. Read chapter 5 of the OS: 3 Easy Pieces book. Due: HW 2: shell Assignment:HW 3: system calls |
Feb 5 | Feb 6 LEC 5: Isolation mechanisms (slides, video with missing audio) Preparation: Read "Chapter 1: Operating system organization" and the related xv6 source files | Feb 7 |
Feb 11 LEC 6: Virtual memory (1) (Handout: page table translation and register, slides, video) Preparation: Read "Chapter 2: Page Tables" Due: HW 3: system calls Assignment: HW 4: lazy page allocation |
Feb 12 | Feb 13 LEC 7: Virtual memory (2) (Handout: JOS virtual memory layout, JOS UPVT, slides, video) Due: HW 4: lazy page allocation Assignment: HW 5: xv6 CPU alarm Assignment: Lab 3: User-Level Environments |
Feb 14 DUE: Lab 2 |
Feb 18 LEC 8: System calls, interrupts, exceptions (handouts: IDT) (slides, video) Preparation: Read "Traps, interrupts, and drivers" and the related xv6 source files Due: HW 5: xv6 CPU alarm Assignment: HW 6: threads and locking |
Feb 19 | Feb 20 LEC 9 (ab): Multiprocessors and locking (slides, video) Preparation: Read "Locking" with spinlock.c and skim mp.c Due: HW 6: threads and locking Assignment: HW 7: xv6 locks |
Feb 21 DUE: Lab 3 (Part A) |
Feb 25 LEC 10: Processes and switching (slides, video) Preparation: Read "Scheduling" up to "Sleep and wakeup" and proc.c, swtch.S Due: HW 7: xv6 locks Assignment: HW 8: xv6 uthreads |
Feb 26 | Feb 27 LEC 11: sleep&wakeup (slides, video) Preparation: Read remainder of "Scheduling", and corresponding parts of proc.c Due: HW 8: xv6 uthreads Assignment: Lab 4: Preemptive multitasking Assignment: HW 9: barriers |
Feb 28 DUE: Lab 3 (Part B) |
Mar 4 LEC 12: File systems (1/2) (slides, video) Preparation: Read bio.c, fs.c, sysfile.c, file.c and "File system" except for the logging sections Due: HW 9: barriers Assignment: HW 10: big files |
Mar 5 | Mar 6 LEC 13:File systems (2/2) (slides, video) Due: HW 10: big files Assignment: HW 11: xv6 log Assignment: Lab 6: Networking Assignment: Lab 7: Final project |
Mar 7 DUE: Lab 4 (Part A) |
Mar 11 Midterm open book and notes scope: Lectures 1 through 13, HW 1 through 10, labs 1 through 3, lectures through Mar 6 further information and practice exams (Midterm Solution) |
Mar 12 | Mar 13 Lec 14: Review midterm (video) Assignment: Lab 5: File system, spawn, and sh |
Mar 14 DUE: Lab 4 (Part B) Last day to drop |
Mar 18-22 Spring break |
|||
Mar 25 LEC 15:Crash recovery (slides, video) Preparation: Read log.c and the logging sections of "File system" | Mar 26 | Mar 27 LEC 16: File system performance and fast crash recovery (slides, no video) Preparation: Read Journaling the Linux ext2fs Filesystem (1998) Due: HW 11: xv6 log Assignment: HW 12: mmap() |
Mar 28 DUE: Lab 4 (Part C) DUE: Final project piazza discussion |
Apr 1 LEC 17:Zettabyte File System (ZFS) (slides, video) Preparation: Read The Zettabyte File System |
Apr 2 | Apr 3 LEC 18:Virtual Memory (3) (slides, video) Preparation: Read Virtual Memory Primitives for User Programs (1991) Due: HW 12: mmap |
Apr 4 DUE: Final project proposal |
Apr 8 LEC 19:OS Organization, (slides, video) Preparation: Read Exokernel (1995) Due: HW 13: exokernel questions |
Apr 9 | Apr 10 LEC 20:Kernels and HLL, (slides, video) Preparation: Read Biscuit paper (2018) Due: HW 14: biscuit questions |
Apr 11 DUE: Lab 5 |
Apr 15 LEC 21:Scalable Locks (slides, video) Preparation: Read Non-scalable locks paper (2012)) Due: HW 15: ticket lock questions |
Apr 16 | Apr 17 LEC 22:Scaling OSes (slides, video) Preparation: Read RCU (2013) Due: HW 16: RCU questions |
Apr 18 |
Apr 22 LEC 23:Virtual Machines (1) (Slides, video) Preparation: Read Software vs Hardware Virtualization (2006) Due: HW 17: VM questions |
Apr 23 | Apr 24 LEC 24:Virtual Machines (2) (Slides, video) Preparation: Read Dune: Safe User-level Access to Privileged CPU Features (2012) Due: HW 18: Dune questions |
Apr 25 |
Apr 29 LEC 25:High-performance networking (Slides, video) Preparation: Read IX: A Protected Dataplane Operating System for High Throughput and Low Latency (2014) Due: HW 19: IX questions |
Apr 30 | May 1 LEC 26:Optimize your Financial Life (Slides, video) Bonus: Slides for Optimize your Engineering Life For all: take-home final handed out (More info on final) |
May 2 DUE: Lab 6 or 7 May 3 or 6: demo to instructor (only if doing Lab 7) |
May 6-8 Presentation days |
May 9 For seniors: Final due at 7 PM under my door in Olin 1255 |
||
May 13 Finals week |
May 14 Finals week |
May 15 For non-seniors: Final due at 5 PM under my door in Olin 1255 |
May 16 Finals week |
Top // CS 134 home // Last updated Tue May 14 07:12:46 PDT 2019