An experimental modular operating system (or unikernel) written in Rust.
🚧 Working In Progress.
- 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
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)
make ARCH=<arch> APP=<app> LOG=<log> NET=[on|off] FS=[on|off] APP_LANG=c run