Stardust Oxide: I wrote a unikernel in Rust for my bachelors dissertation

345 points chocol4tebubble

https://github.com/StardustOS/stardust-oxide

Copy-pasting my abstract:

Stardust Oxide is a unikernel, single address space Xen-paravirtualised operating system written in the Rust language. It supports dynamic memory allocation, async/await syntax for cooperative multitasking, virtualised networking and a performant console driver. There are type- and memory-safe interfaces to Xen functionality such as shared memory grant tables, XenStore and XenBus. It boots in less than 3 milliseconds with a compressed image size of 61KB (152KB uncompressed) including a
networking stack. The project is structured as a library containing unsafe Rust bindings to the C Xen API, a library with safe Rust interfaces to the unsafe bindings and then the Stardust Oxide library. This allows for other operating system development to re-use the individual packages as needed. The software also forms an alternative reference Xen guest implementation to MiniOS and Stardust while benefiting from Rust’s expressive type system, polymorphism and safety guarantees.