github.com/marvin-Yu/xv6-riscv ↗
Xv6 for RISC-V
Open this visualization on its own page →
Contributors
46
Lines of Code
4,207
From
2006-06-12
To
2021-09-01
About marvin-Yu/xv6-riscv
Xv6 is an educational operating system that recreates Unix Version 6 (originally written by Dennis Ritchie and Ken Thompson in the 1970s) using modern technology. Rather than targeting the original PDP-11 architecture, this implementation runs on RISC-V processors and is written in ANSI C, making it relevant for contemporary systems and easier for modern programmers to understand.
The project serves as a teaching tool for MIT's operating systems course (6.1810), designed to help students learn core OS concepts like process management, memory handling, file systems, and multiprocessor coordination. It loosely follows the structure and philosophy of the original Unix v6 while incorporating features needed for modern multiprocessor systems, such as context switching and locking primitives. The codebase can be built and run on QEMU, an emulator that simulates RISC-V hardware, allowing students to experiment with and modify the operating system without requiring actual hardware.
Xv6 has been refined over many years through contributions from MIT faculty, students, and the open-source community. The project emphasizes clarity and simplicity over feature completeness, prioritizing educational value and understandability for learners exploring how operating systems actually work at a fundamental level.