1sheet1: left 2 3# types.h either 4# param.h either 5# defs.h either 6# x86.h either 7# asm.h either 8# mmu.h either 9# elf.h either 10# mp.h either 11 12even: bootasm.S # mild preference 13even: bootother.S # mild preference 14# bootmain.c either 15even: main.c 16# mp.c don't care at all 17# even: initcode.S 18# odd: init.c 19 20# spinlock.h either 21left: spinlock.c # mild preference 22even: proc.h # mild preference 23 24# goal is to have two action-packed 2-page spreads, 25# one with 26# allocproc userinit growproc fork 27# and another with 28# scheduler sched yield forkret sleep wakeup1 wakeup 29right+: proc.c # VERY important 30 31# setjmp.S either 32# vm.c either 33# kalloc.c either 34 35# syscall.h either 36# trapasm.S either 37# traps.h either 38# even: trap.c 39# vectors.pl either 40# syscall.c either 41# sysproc.c either 42 43# buf.h either 44# dev.h either 45# fcntl.h either 46# stat.h either 47# file.h either 48# fs.h either 49# fsvar.h either 50left: ide.c 51# odd: bio.c 52odd: fs.c # VERY important 53# file.c either 54# exec.c either 55# sysfile.c either 56 57# even: pipe.c # mild preference 58# string.c either 59left: kbd.h 60even: console.c 61odd: sh.c 62