rCore
rCore copied to clipboard
Rust version of THU uCore OS. Linux compatible.
rCore
Rust version of THU uCore OS Plus.
Going to be the next generation teaching operating system.
Supported architectures and boards:
- x86_64(Tier 1): QEMU, PC (i5/i7)
- RISCV32/64(Tier 2): QEMU, HiFive Unleashed
- AArch64(Tier 2): QEMU, Raspberry Pi 3B+
- MIPS32(Tier 3): QEMU, TrivialMIPS
What's included
rCore has the following features:
- Linux compatible syscall interface: run Linux userspace programs
- Network stack
- Simple file system
- Signal system
- Async IO
- Kernel module
Building
Environment
- Rust toolchain
- QEMU >= 4.1.0
- musl-based GCC toolchains (only for building user programs)
Setup on Linux or macOS:
$ rustup component add rust-src llvm-tools-preview
Or use Docker container:
$ docker run -it -v $PWD:$PWD -w $PWD wangrunji0408/rcore
How to run
$ git clone https://github.com/rcore-os/rCore.git --recursive
$ cd rCore/user
$ make sfsimg PREBUILT=1 ARCH=x86_64
$ cd ../kernel
$ make run ARCH=x86_64 LOG=info
See Makefile for more usages.
Maintainers
Module | Maintainer |
---|---|
x86_64 | @wangrunji0408 |
RISC-V | @jiegec |
AArch64 (Raspi3) | @equation314 |
MIPS | @Harry_Chen @miskcoo |
Memory, Process, File System | @wangrunji0408 |
Network with drivers | @jiegec |
GUI | @equation314 |
History
This is a project of THU courses:
- Operating System (2018 Spring)
- Comprehensive Experiment of Computer System (2018 Summer)
- Operating System Train (2018 Autumn)
- Operating System (2019 Spring)
- Operating System Train (2019 Autumn)
- Operating System (2020 Spring)
Reports and Dev docs (in Chinese)
It's based on BlogOS , a demo project in the excellent tutorial Writing an OS in Rust (First Edition).
License
The source code is dual-licensed under MIT or the Apache License (Version 2.0).