| Week | Topics | Chapter/Assigned Reading |
|---|---|---|
| Jan. 8 | Intro to process model; system calls; cpu/memory state; MIPS assembly and CPU layout |
class lecture, xv6:syscall.c, xv6:sysproc The UNIX Time-Sharing System |
| Jan. 15 | University holiday: Martin Luther King Jr.'s Birthday -- no class. | |
| Jan. 22 | UNIX shell, fork/exec/wait; signals; linking and loading; env vars; file descriptors, I/O re-direction |
Ch. 4--6, Ch. 2 (code), Ch. 5 (code); xv6: file.c, sysfile.c, pipe.c, proc.[ch] |
| Jan. 29 | POSIX Threads, Concurrency; a first look at Locks |
Ch. 28--31, xv6:spinlock.c Required readings: Optional readings: |
| Feb. 5 | Virtual Memory, clock algo.; Cache/MMU/TLB |
class lecture; Ch. 13--15, Ch. 17--19, xv6: memlayout.h, exec.c, kalloc.c, mmu.h, and vm.c Required reading: Virtual memory, processes, and sharing in multics Optional suggested reading: What Every Programmer Should Know About Memory |
| Feb. 12 | CPU Caches; Device I/O; |
class lecture |
| Feb. 19 | University holiday: President's Day -- no class. | |
| Feb. 26 | Exam 1 |
|
| Mar. 5 | Spring break -- no class | |
| Mar. 12 | Scheduling | get/setcontext, and xv6:swtch.S xv6:fs.c Ch. 7, Ch. 8, Ch. 10 Readings: |
| Mar. 19 | Filesystems | Class lecture; Ch. 37 - 43 xv6: fs.c,file.c,sysfile.c,exec.c Readings: |
| Mar. 26 | Virtual Machines | class lecture ostep.org: App B |
| Apr. 3 | Linux Containers, Docker, Cloud, Orchestration | class lecture |
| Apr. 9 | TBD |
|
| Apr. 16 | University holiday: Patriot's Day -- no class | |
| Apr. 23 | Project presentations | Final Projects Due |