1 |
Feb 13 |
|
LEC 1: Operating systems (html) (handouts: xv6 source, xv6 book)Preparation: Unix introHomework 1: HW: Boot xv6Homework 2: HW: shellLab: Lab 1: C, Assembly, Tools, and Bootstrapping |
|
Feb 17 |
2 |
Feb 20LEC 2: PC hardware and x86 programming slides, notesPreparation: Read Bootstrap/PC hardware appendices and the related xv6 source files |
|
LEC 3: C and gdb (pointers example)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&RHomework 1 dueLab: Lab 2: Memory management |
|
Feb 24 |
3 |
Feb 27LEC 4: Shell & OS organizationPreparation: Read chapter 0 of the xv6 book.Homework 2 due |
|
Mar 1LEC 5: Isolation mechanismsPreparation: Read "Chapter 1: The first process" and the related xv6 source filesHomework 3: HW: system calls |
|
Mar 3 |
4 |
Mar 6LEC 6: Virtual memory (handouts: page table translation and registers)Preparation: Read "Chapter 2: Page Tables"Homework 3 dueHomework 4: HW lazy page allocation |
|
LEC 7: Using virtual memory (handout: JOS virtual memory layout)Homework 4 dueHomework 5: HW xv6 CPU alarmAssignment: Lab 3: User-Level Environments |
|
Mar 10 |
5 |
Mar 13LEC 8: System calls, interrupts, exceptions (handouts: IDT)Preparation: Read "Traps, interrupts, and drivers" and the related xv6 source filesHomework 5 due |
|
Homework 6: HW multithreaded programming |
|
Mar 17 |
6 |
Mar 20 |
|
LEC 9: Multiprocessors and lockingPreparation: Read "Locking" with spinlock.c and skim mp.c Homework 6 dueHomework 7: HW xv6 locksLab: Lab 4: Preemptive Multitasking |
|
Mar 24 |
7 |
Mar 27LEC 10: Processes and switchingPreparation: Read "Scheduling" up to "Sleep and wakeup" with proc.c , swtch.S , and sys_fork (in sysproc.c )Homework 7 dueHomework 8: HW uthreads |
|
LEC 11: sleep&wakeupPreparation: Read remainder of "Scheduling"; read remainder of proc.c and sys_wait , sys_exit , sys_kill Homework 8 dueHomework 9: HW barrier |
|
Mar 31 |
8 |
Apr 3 (清明)LEC 12: File systemsPreparation: Read bio.c , fs.c , sysfile.c , file.c and "File system" except for the logging sectionsHomework 9 dueHomework 10: HW big files |
Apr 4 (清明) |
LEC 13: Crash recoveryPreparation: Read log.c and the logging sections of "File system"Homework 10 dueHomework 11: HW crashLab: Lab 6: NetworkingLab: Lab 7: Final project |
|
Apr 7 |
9 |
Apr 10 |
|
Lab: Lab 5: File system, spawn, and sh |
|
Apr 14 |
10 |
Apr 17LEC 14: File system performance and fast crash recoveryHomework 11 duePreparation: Read Journaling the Linux ext2fs Filesystem (1998) |
|
LEC 15: OS OrganizationPreparation: Read Exokernel (1995)Homework 12 due: HW exokernel question |
|
Apr 21 |
11 |
Apr 24LEC 16: Language/OS co-designPreparation: Read Singularity (2007)Homework 13 due: Singularity question |
|
|
|
Apr 28 |
12 |
May 1 |
|
|
|
May 5数理方程考试 |
13 |
May 8 |
操作系统结课 |
|
|
May 12计算方法考试 |
14 |
May 15LEC 17: Scalable locks (code)Preparation: Read Non-scalable locks paper (2012)Homework 14 due: ticket lock question |
|
|
|
May 15 |
15 |
May 22LEC 18: Scaling OSesPreparation: Read RadixVM (2013)Homework 15 due: refcache question |
|
LEC 19: Virtual MachinesPreparation: Read Dune: Safe User-level Access to Privileged CPU Features (2012)Homework 16 due: Dune question |
|
May 26 |
16 |
May 29 (端午)LEC 20: High-performance networkingPreparation: Read IX: A Protected Dataplane Operating System for High Throughput and Low Latency (2014)Homework 17 due: IX question |
May 30 (端午) |
|
|
Jun 2 |
17 |
Jun 5 |
数字逻辑考试 |
|
|
Jun 9 |
18 |
Jun 12 |
|
|
操作系统考试 |
Jun 16 |
19 |
Jun 19LEC 21: Certified systems (nodup.v, slides)Preparation: Read Using Crash Hoare Logic for Certifying the FSCQ File System (2015)Homework 18 due: FSCQ question |
|
LAST DAY OF CLASSESLEC 22: demos in classProject sign-offs |
|
Jun 23 |