rCore-Tutorial-v3
rCore-Tutorial version 3.5. See the Documentation in Chinese.
Overview
This project aims to show how to write an Unix-like OS running on RISC-V platforms from scratch in Rust for beginners without any background knowledge about computer architectures, assembly languages or operating systems.
Features
- Platform supported:
qemu-system-riscv64
simulator or dev boards based on Kendryte K210 SoC such as Maix Dock - OS
- concurrency of multiple processes
- preemptive scheduling(Round-Robin algorithm)
- dynamic memory management in kernel
- virtual memory
- a simple file system with a block cache
- an interactive shell in the userspace
- only 4K+ LoC
- A detailed documentation in Chinese in spite of the lack of comments in the code(English version is not available at present)
Working in progress
- update Rust & RustSBI to latest version
- rewrite practice doc and remove some inproper questions
- add a new chapter about synchronization & mutual exclusion(up or smp?)
- format the code using official tools
- support Allwinner's RISC-V D1 chip