ScheduleΒΆ

  • The schedule will change as the course progresses, in part based on student interests. If you are particularly interested in some topic not covered here, send mail to the course staff.
  • Submit your answers (and questions) of each lecture via GitHub, and post your questions to colleagues (and staffs) on Piazza.
Monday Tuesday Wednesday Thursday Friday
Aug 21
First day of class (No class)
Aug 22
LEC 1: Intro and Operating systems (xv6, code and book)
Preparation: Watch "Perspectives on OS Foundations" (Question)
Assignment: Lab 1: Booting a PC
Aug 23 Aug 24
TUT 1: Tools
Preparation: Watch Linus's talk on git (Question)
Aug 25
ADD DATE
Aug 28 Aug 29
LEC 2: Booting and x86 (minboot, Notes)
Preparation: Read Appendix A/B (Question)
Aug 30 Aug 31
TUT 2: Makefiles, C, and gdb
Preparation: Read (Bitwise operators), (Pointers) and (Pointers to structures), and (Makefiles) (Question)
Assignment: Lab 2: Memory management
Sep 1
Sep 4
Labor Day
Sep 5
LEC 3: Shell & OS organization
Preparation: Read Chapter 0, UNIX (Question)
Sep 6 Sep 7
TUT 3: Booting on your laptop
Preparation: Read (Kernel boot process) (Question)
Sep 8
DUE: Lab 1
Sep 11 Sep 12
Class Cancelled
Sep 13 Sep 14
LEC 4: Isolation mechanisms
Preparation: Read Chapter 1 (Question)
Sep 15
Sep 18 Sep 19
LEC 5: Virtual memory
Preparation: Read Chapter 2 (Question)
Sep 20 Sep 21
LEC 6: Virtual memory applications
Preparation: Read Chapter 2 (Question)
Assignment: Lab 3: User environments
Sep 22
Sep 25 Sep 26
LEC 7: System calls, interrupts, exceptions
Preparation: Read Chapter 3 (Question)
Sep 27 Sep 28
TUT 4: Lazy allocation
Preparation: Read "man 2 sbrk" (Question)
Sep 29
DUE: Lab 2
Oct 2
DUE: Final Project Pre-Proposal
Oct 3
Quiz #1. Lab1-2, Ch 0-2, Appendix A/B
Oct 4 Oct 5
LEC 8: Quiz Discussion
Oct 6
DUE: Lab 3 (Part A)
Oct 9
Fall 2017 Student Recess
Oct 10
Fall 2017 Student Recess
Oct 11 Oct 12
LEC 9: Multiprocessors and locking
Preparation: Read Chapter 4 (Question)
Assignment: Lab 4: Preemptive multitasking
Oct 13
DUE: Lab 3 (Part B)
Oct 16 Oct 17
TUT 5: Threads and Spinlocks
Preparation: Read Chapter 5 (upto "Context switching", p57-60)
Oct 18 Oct 19
LEC 10: Processes and switching
Preparation: Read Chapter 5 (upto "Sleep and wakeup") (Question)
Oct 20
DUE: Lab 4 (Part A)
Oct 23 Oct 24
LEC 11: Team Proposal (slides) (sample slides) (Sample Pre-Proposal)
Assignment: Lab 5: File system and shell
Oct 25 Oct 26
LEC 12: Coordination (Sleep and Wakeup)
Preparation: Read Chapter 5 (Question)
Oct 27
DUE: Lab 4 (Part B)
Oct 30 Oct 31
TUT 6: Competition: a concurrent key value store
Preparation: Read and understand the provided code (Question)
Nov 1 Nov 2
LEC 13: File systems
Preparation: Read Chapter 6 (except "Logging") (Question)
Nov 3
Nov 6 Nov 7
TUT 7: fsck
Preparation: Understand mkfs (Question)
Nov 8 Nov 9
LEC 14: Crash consistency
Preparation: Read Chapter 6 ("Logging") (Question)
Nov 10
DUE: Lab 4 (Part C)
Nov 13 Nov 14
Quiz #2. Lab 3-5, Ch 3-6
Nov 15 Nov 16
LEC 15: Quiz Review
Assignment: Lab 6: Network Driver
Nov 17
DUE: Lab 5
Nov 20 Nov 21 Nov 22
Thanksgiving Student Recess
Nov 23
Thanksgiving Student Recess
Nov 24
Thanksgiving Student Recess
Nov 27
DUE: Demo Day Slides
Nov 28
LEC 16: Demo Day 1 slides
Nov 29 Nov 30
LEC 17: Demo Day 2 slides
Dec 1
Dec 4 Dec 5
LEC 18: Demo Day 3 slides or Bonus Topics
Dec 6 Dec 7
Final exam week
(No final!)
Dec 8
DUE: Final Project Writeup
Final exam week
(No final!)
Dec 11
Final exam week
(No final!)
Dec 12
Final exam week
(No final!)
Dec 13
Final exam week
(No final!)
Dec 14
Final exam week
(No final!)
Dec 15
DUE: Lab6 (optional)