lolevel
by
Mohamed Zaam
systems · security · solutions
type real kernel code. answer real OS questions.
sources: mit-pdos/xv6-riscv @ b6dd660 · xv6 book rev5
xv6-riscv typing drills
boot & entry
entry.S, start.c, main.c — power-on to scheduler()
14 drills
TRAIN →
traps & interrupts
trampoline.S, kernelvec.S, trap.c
13 drills
TRAIN →
system calls
syscall.c, sysproc.c, usys.pl — ecall to dispatch
8 drills
TRAIN →
virtual memory
vm.c, kalloc.c — page tables & the allocator
12 drills
TRAIN →
exec
exec.c — ELF loading & the argv stack
8 drills
TRAIN →
scheduling & context switch
proc.c, swtch.S
12 drills
TRAIN →
pipes & file descriptors
pipe.c, file.c — producer/consumer & the fd layer
8 drills
TRAIN →
file system
bio.c, log.c, fs.c
12 drills
TRAIN →
console & uart
console.c, uart.c — a real device driver
8 drills
TRAIN →
locking
spinlock.c, sleeplock.c
9 drills
TRAIN →
os quizzes
boot & startup
privilege modes, mret, the path to main()
20 questions
STUDY →
processes & scheduling
process states, context switches, sleep/wakeup
15 questions
STUDY →
virtual memory
Sv39 page tables, mappings, page faults
16 questions
STUDY →
traps & interrupts
system calls, the trampoline, devices
16 questions
STUDY →
file system
inodes, logging, the buffer cache
15 questions
STUDY →
locking
races, spinlocks, deadlock ordering
14 questions
STUDY →
computer architecture quizzes
risc-v assembly
registers, pseudo-instructions, CSRs — read the kernel's .S files
12 questions
STUDY →
bits, bytes & addresses
hex, masks, alignment — the arithmetic behind PTEs & bitmaps
12 questions
STUDY →
calling conventions & stack frames
frames, caller/callee-saved, overflows — why swtch & trapframes look that way
12 questions
STUDY →
compilation, linking & loading
sections, symbols, ELF — kernel.ld & end[] explained
12 questions
STUDY →
pipelining
stages, hazards, forwarding
12 questions
STUDY →
caches & memory hierarchy
locality, associativity, miss penalties
12 questions
STUDY →
isa design tradeoffs
RISC vs CISC, encodings, calling conventions
12 questions
STUDY →
← TRACKS
lo
level
completed
0
accuracy
—
type the code · TAB to skip
↵ ENTER to continue
SKIP
← TRACKS
lo
level
score
0/0
accuracy
—
streak
0
Q 1 / 20
1–4 or A–D to answer
↵ ENTER to continue
NEXT →