Skip to content
/ rCore Public

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

License

Notifications You must be signed in to change notification settings

gfgafn/rCore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published