Skip to content

Latest commit

 

History

History
51 lines (40 loc) · 3.05 KB

README.md

File metadata and controls

51 lines (40 loc) · 3.05 KB

rCore

An Unix like Operating System kernel written with Rust based on RISC-V.

Run the OS

cd os/ && make run

Dev Environment

  • Ubuntu 22.04 LTS
  • Rust toolchain (nightly)
  • QEMU emulator: qemu-system-riscv64 (version 7.0.0)
  • GDB: riscv64-unknown-elf-gdb (GNU gdb (SiFive GDB 8.3.0-2020.04.1) 8.3)

Get more information about development environment from setup-devel-env(Simplified Chinese)

Working in progress

  • LibOS: Make the application isolated from the hardware, simplify the difficulty and complexity of the application to access the hardware.
  • BatchOS: Isolate applications from the operating system to strengthen system security and improve execution efficiency.
  • Multiprog & Time-sharing OS: Share CPU resource between multiply applications.
  • Address Space OS: Isolate the memory address space accessed by the application, limit the mutual interference between the application, and improve security.
  • Process OS: Allows application dynamically creates new process and enhance process management and resource management capabilities.
  • Filesystem OS:Allows applications to store data persistently.
  • IPC OS:Allows multiple apps to interact with data and event notifications between processes.
  • Thread & Coroutine OS:Implement threading and coroutine applications to simplify switching and data sharing.
  • SyncMutex OS:Supports synchronous and exclusive access to shared resources in multithreaded applications.
  • Device OS:Improve the I/O efficiency and human-computer interaction ability of the application, and support serial ports/block devices/keyboards/mice/display devices based on peripheral interrupts.

Run git checkout chx to view these Operating System and the lab of every chapter.

Operating System Lab Git branch
LibOS Chapter1 ✅ ch1
BatchOS Chapter2 ✅ ch2
Multiprog & Time-sharing OS Chapter3 ✅ ch3
Address Space OS Chapter4 ch4
Process OS Chapter5
Filesystem OS Chapter6
IPC OS Chapter7
Thread & Coroutine OS Chapter8
SyncMutex OS Chapter8
Device OS Chapter9

Reference