A minimal operating system for RISC-V 32-bit, written in Zig.
pico-os is a small educational OS inspired by "Operating System in 1,000 Lines". It demonstrates the basics of OS development: booting, memory management, process scheduling, and user-mode syscalls.
- Boots under QEMU (riscv32)
- SV32 paging with a basic memory allocator
- Round-robin cooperative process scheduling
- User mode with trap handling
- Syscalls: write, read, yield, exit
- Zig 0.15.2+
- QEMU with riscv32 support
- LLVM tools (objcopy, objdump, nm)
git clone https://github.com/botirk38/pico-os.git
cd pico-os
zig build
zig build runzig fmt --check src/ # Check formatting
zig build # Build kernel and user binaries
zig build run # Run in QEMUMIT