This page serves as a table of contents of my lab and homework walkthroughs for MIT 6.828: Operating System Engineering (2018 version).
- Lab 1: Booting a PC
- Lab 2: Memory Management
- Lab 3: User Environments
- Lab 4: Preemptive Multitasking
- Lab 5: File system, Spawn and Shell
- Lab 6: Network Driver
- Homework: xv6 CPU alarm
- Homework: Threads and Locking
- Homework: User-level Threads
- Homework: Barriers
- Homework: Bigger files for xv6
- Homework: xv6 log
peilin@PWN:~/6.828/2018/lab$ git diff ——stat ——color remotes/origin/lab6
.gitignore | 23 +————
README.md | 5 +
fs/bc.c | 11 ++—
fs/fs.c | 46 ++++++++—
fs/serv.c | 21 +++—
inc/error.h | 4 +
inc/lib.h | 2 +
inc/mmu.h | 2 +—
inc/ns.h | 2 +
inc/syscall.h | 2 +
kern/e1000.c | 126 +++++++++++++++++++++++—
kern/e1000.h | 109 +++++++++++++++++++++
kern/env.c | 88 ++++++++++++++++—
kern/init.c | 9 +—
kern/kdebug.c | 17 +++—
kern/monitor.c | 338 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++—
kern/monitor.h | 6 ++
kern/pci.c | 3 +—
kern/pmap.c | 237 +++++++++++++++++++++++++++++++++++++++——————
kern/sched.c | 14 ++—
kern/syscall.c | 224 ++++++++++++++++++++++++++++++++++++++++———
kern/trap.c | 228 +++++++++++++++++++++++++++++++++++++———————
kern/trapentry.S | 51 ++++++++++
lib/file.c | 10 +—
lib/fork.c | 95 ++++++++++++++++——
lib/ipc.c | 35 ++++++—
lib/libmain.c | 7 +—
lib/pfentry.S | 14 +++
lib/pgfault.c | 8 +—
lib/printfmt.c | 13 ++—
lib/spawn.c | 21 ++++
lib/syscall.c | 12 +++
net/input.c | 28 ++++——
net/output.c | 18 +++—
net/testinput.c | 1 +
user/httpd.c | 33 ++++++—
user/primes.c | 2 +—
user/sendpage.c | 2 +—
user/sh.c | 9 +—
39 files changed, 1729 insertions(+), 147 deletions(-)