##MIT 6.828 - Operating System Engineering - Fall 2014
- Homework: Shell
- implementing features in a small shell (6.828 shell).
- Lab 1: Booting a PC
- Part 1: PC Bootstrap
- Part 2: The Boot Loader
- Part 3: The Kernel
- Homework: Boot xv6
- Lab 2: Memory Management
- Part 1: Physical Page Management
- Part 2: Virtual Memory
- Part 3: Kernel Address Space
- Homework: xv6 system calls
- Homework: xv6 lazy page allocation
- Lab 3: User Environments
- Part A: User Environments and Exception Handling
- Part B: Page Faults, Breakpoints Exceptions, and System Calls
- Homework: xv6 CPU alarm
- Homework: Threads and Locking
- Lab 4: Preemptive Multitasking
- Part A: Multiprocessor Support and Cooperative Multitasking
- Part B: Copy-on-Write Fork
- Part C: Preemptive Multitasking and Inter-Process communication (IPC)
- Homework: User-level threads
- Homework: Barriers
- Homework: bigger files for xv6 (fs.c:bmap())
- Lab 5: File system, Spawn and Shell
- Homework: xv6 log
- Lab 6: Network Driver
- Part A: Initialization and transmitting packets
- Part B: Receiving packets and the web server
My xv6 repo: https://github.com/william-cheung/xv6-public