| Week | Topics | Chapter/Assigned Reading |
|---|---|---|
| Sep. 9 | C and pointers, and models of linking
HW0 due |
class lecture, xv6:syscall.c, xv6:sysproc The UNIX Time-Sharing System |
| Sep. 12 | No class! | |
| Sep. 19 | UNIX shell, fork/exec/wait; file descriptors, I/O re-direction |
Ch. 4--6, Ch. 2 (code), Ch. 5 (code); xv6: file.c, sysfile.c, pipe.c, proc.[ch] |
| Sep. 26 | Process startup; args. and env. vars syscalls; linking and loading |
Ch. 4--6, Ch. 2 (code), Ch. 5 (code); xv6: file.c, sysfile.c, pipe.c, proc.[ch] |
| Oct. 3 | POSIX Threads, Concurrency; a first look at Locks |
Ch. 28--31, xv6:spinlock.c Required readings: Optional readings: |
| Oct. 10 | University holiday: Columbus Day, no class. | |
| Oct. 17 | 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 |
| Oct. 24 | Midterm Exam | |
| Oct. 31 | Virtual Memory; Caches revisted; ELF; GOT, PLT; static/dynamic linking |
class lecture Required readings: Optional readings: |
| Nov. 7 | Scheduling | get/setcontext, and xv6:swtch.S xv6:fs.c Ch. 7, Ch. 8, Ch. 10 Readings: |
| Nov. 14 | Intro to Filesystem | Class lecture; Ch. 37 - 43 xv6: fs.c,file.c,sysfile.c,exec.c Readings: |
| Nov. 14 | Filesystem contd.; Python: high-level scripting | |
| Nov. 21 | Virtual Machines | class lecture |
| Nov. 28 | Linux Containers, Docker, Cloud, Orchestration Cloud, orchestration (cont.); |
class lecture ostep.org: App B |
| Dec. 5 | Orchestration (contd.); Project Presentations |
class lecture |
| Dec. 12 | Final Projects Due | Project Presentations (contd.) |