github.com/kaist-cp/rv6

An animated time-lapse of how kaist-cp/rv6 was built, commit by commit.

Open this visualization on its own page →

Contributors

44

Lines of Code

7,262

From

2006-06-12

To

2020-12-22

About kaist-cp/rv6

xv6 is a reimplementation of Unix Version 6 designed for modern RISC-V multiprocessor systems and written in ANSI C. It follows the structure and style of the original v6 operating system created by Dennis Ritchie and Ken Thompson, serving as an educational tool for teaching operating systems concepts at MIT in the course 6.S081.

The project provides a functional Unix-like kernel that can be built and run on QEMU emulation for RISC-V architecture. Building xv6 requires a RISC-V GNU toolchain and QEMU configured for riscv64-softmmu. The implementation addresses core OS concepts including process management, memory management, file systems, and synchronization primitives, with notable contributions in areas like context switching, locking mechanisms, and multiprocessor support from various developers over the years.

The primary audience is students learning operating systems design and implementation. The maintainers emphasize that the project prioritizes simplifications and clarifications for educational purposes over the addition of new features, making it a focused learning resource rather than a feature-rich production system.

Share this video