XV6 boot
From Power-On to C: How xv6 Boots on RISC-V (Part 1) After finishing Operating Systems: Three Easy Pieces (OSTEP) and experimenting with various Linux interfaces and system calls, I wanted to get my hands dirty with an actual operating system kernel codebase. OSTEP frequently points to xv6 for this, and to connect the theoretical concepts: virtual memory, page tables, traps, and scheduling, with real hardware and code, I have been diving into the xv6 kernel alongside MIT’s 6.S081 / 6.828 Operating System Engineering course. This is the start of a multi-part series where I document my notes, walk through the source code, and explain how things actually work under the hood. ...