finds.dev← search

// the find

skyzh/core-os-riscv

★ 323 · Rust · MIT · updated Jun 2021

🖥️ An xv6-like operating system on RISC-V with multi-core support. Documentation available online.

A Rust reimplementation of xv6 targeting RISC-V, built as a learning project by one developer. It covers the core xv6 subsystems — virtual memory, process scheduling with multi-core support, a basic filesystem, and syscalls — running on QEMU. Aimed at OS students who want to see xv6 concepts in Rust rather than C.

Multi-core scheduling is actually implemented and tested, which most hobby OS projects skip. The code is split into coherent modules (process, file, trap, virtio) that map closely to xv6's structure, making it useful as a reference alongside the original. Auto-generated API docs are deployed and kept in sync via CI, which is more discipline than most projects at this star count show. The Rust-native spinlock and sleeplock implementations are worth reading if you're studying how xv6's locking model translates out of C.

Abandoned since mid-2021 and the author says so explicitly in the README — the async scheduling rewrite was never started, several open issues acknowledge kernel panics and known security holes. The build setup is fragile: macOS requires a manual Homebrew tap for RISC-V tools that may no longer work cleanly, and Ubuntu instructions just say 'use Linuxbrew'. Large swaths of the roadmap are unchecked: no pipe support, no copyin/copyout, no shell, no userspace allocator. There's a cpp file (fs/fs.cpp) sitting in a Rust project with no explanation.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →