kerla-demo
PIOS
kerla-demo | PIOS | |
---|---|---|
1 | 1 | |
14 | 37 | |
- | - | |
7.8 | 10.0 | |
over 3 years ago | over 12 years ago | |
Rust | C | |
- | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
kerla-demo
-
Kerla: Monolithic kernel in Rust, aiming for Linux ABI compatibility
Author here. I've made the demo system public [1] but it's written just for me so it should be painful to set up the same environment.
The mechanism is pretty simple: a Node.js server (running on genuine Linux) listens on tcp:22. Once you connect, it boots a dedicated Firecracker microVM instance and forwards network packets between your SSH client and VM.
Regarding the command history, others (including I) can't see what you type. If you could, it must be a vulnerability.
[1] https://github.com/nuta/kerla-demo
PIOS
-
Kerla: Monolithic kernel in Rust, aiming for Linux ABI compatibility
I think you're on the right track. I am similar to you and not so skilled at low level OS development. There is an educational OS called PIOS from Yale's CS department with specific goals in mind, but it boots from metal so the code is a great resource. Here's the code: https://github.com/bford/PIOS
Also, you could try reading the Plan 9 source code.
(I would say the code is what you're after now, but in case you are interested in more of the theory of why it's designed that way, you can check out the research paper here: https://dedis.cs.yale.edu/2010/det/)
What are some alternatives?
xous-core - The Xous microkernel
oxide-and-friends - Show notes from Oxide and Friends recordings
mosys
smoltcp - a smol tcp/ip stack
headcrab - A modern Rust debugging library 🦀
kerla - A new operating system kernel with Linux binary compatibility written in Rust.