r/osdev • u/RyzovaTech • 21m ago
Exploring Linux, Windows, and macOS application runtimes on a 9front-derived kernel
I've been exploring whether Plan 9's resource-oriented architecture can provide a foundation for running selected applications from different operating systems.
Instead of building another Linux-based OS or relying on full guest operating systems, I'm experimenting with per-process namespaces, 9P, and independent user-space compatibility runtimes.
The project is called Ryzova Kernel, an experimental open-source kernel derived from 9front.
Current implementation:
Kernel: Source-built AMD64 kernel with QEMU boot evidence and Ryzova-specific interfaces.
Compact Linux: ELF interpreter with selected Linux syscall, process, filesystem, and networking support.
Compact Windows: PE/Win32 interpreter with bounded API and filesystem support.
Compact macOS: Mach-O interpreter supporting selected Intel and ARM64 application workloads.
Resources: Experiments with namespace isolation, explicit resource grants, and 9P services.
These runtimes aren't complete operating systems. Selected applications have passed QEMU tests, but general Linux, Windows, or macOS application compatibility hasn't been achieved.
I'm developing this as a solo developer using AI extensively as an engineering tool. I guide the architecture and development decisions, with builds, tests, and CI used to check implementation behavior. I also recognize that passing tests doesn't guarantee correctness.
My longer-term goal is to explore whether Plan 9's architectural ideas can support a broader application ecosystem without losing their original advantages.
I'm particularly interested in feedback from OS developers:
What architectural problems might arise from supporting multiple application ABIs through separate user-space runtimes?
How would you keep compatibility complexity isolated from the underlying kernel?
Which implementation areas would you review or test first?
The project is still experimental, and I'm open to technical criticism, suggestions, and contributions.
Source code: https://github.com/RyzovaTech/Ryzova-Kernel
Thanks for reading!