Skip to content
forked from arceos-org/arceos

An experimental modular OS written in Rust.

License

Notifications You must be signed in to change notification settings

TOMATOFQY/arceos

 
 

Repository files navigation

ArceOS

An experimental modular operating system (or unikernel) written in Rust.

🚧 Working In Progress.

Features & TODOs

  • Architecture: riscv64, aarch64
  • Platform: QEMU virt riscv64/aarch64
  • Multi-thread
  • Cooperative FIFO scheduler
  • VirtIO net/blk drivers
  • TCP net stack using smoltcp
  • File system
  • Compatible with Linux apps
  • Synchronization/Mutex
  • Interrupt driven device I/O
  • Async I/O
  • Kernel preemption
  • SMP

Build & Run

Rust apps

make ARCH=<arch> APP=<app> LOG=<log> NET=[on|off] FS=[on|off] run

Where <arch> can be one of riscv64, aarch64.

<log> can be one of off, error, warn, info, debug, trace.

<app> can be one of helloworld, memtest, exception, multitask, httpclient, echoserver. (See the apps/ directory)

C apps

make ARCH=<arch> APP=<app> LOG=<log> NET=[on|off] FS=[on|off] APP_LANG=c run

Design

About

An experimental modular OS written in Rust.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 90.0%
  • C 5.5%
  • Makefile 2.3%
  • Assembly 2.2%