SOS is a simple, tiny toy OS implemented in Rust.
I'm writing this mostly for fun, to learn more about OS design and kernel hacking, so don't expect anything new or exciting out of this project.
Inspiration, and a reasonable amount of code, taken from @phil-opp's great series of blog posts on the subject, Charlie Somerville's rustboot, and Samy Pessé's How to Make an Operating System.
- POSIX compliance is not a goal (though it would be cool)
- Hybrid/loosely microkernel (i.e., move code to user space when convenient/practical)
- Possibly provide the Rust stdlib at the OS level.
- JVM-style memory allocation?
- Possibly experiment with a Plan 9-esque networking stack eventually?
In order to build SOS, you'll need to properly configure your development environment. I'm working on including a shell script to automate the setup process, but for now, you'll need to follow the instructions in BUILDING.md.
$ make kernel
compiles & links the kernel binary$ make iso
makes the kernel and builds a bootable ISO image$ make run
compiles the kernel, makes the ISO, and boots QEMU from the ISO