Show HN: Munal OS: a graphical experimental OS with WASM sandboxing

https://news.ycombinator.com/rss Hits: 25
Summary

Munal OS ∴ An experimental operating system fully written in Rust, with a unikernel design, cooperative scheduling and a security model based on WASM sandboxing. Features: Fully graphical interface in HD resolution with mouse and keyboard support Sandboxed applications Network driver and TCP stack Customizable UI toolkit providing various widgets, responsive layouts and flexible text rendering Embedded selection of applications including: A web browser supporting DNS, HTTPS and very basic HTML A text editor A Python terminal Demo munal-os-demo.webm Architecture Munal OS started as a toy project to practice systems programming, and over the years morphed into a full-blown OS and a playground to explore new ideas. It aims to re-examine principles of OS design, and see how much is really needed today to make a functional OS, and where shortcuts can be taken using modern tools. The design has no pretention to be superior to anything else, rather it is an experiment in striving for simplicity of the codebase (but not necessarily a lightweight binary or minimal dependencies). In particular, here are usual cornerstones of OS design that Munal OS does NOT implement: Bootloader Page mapping Virtual address space Interrupts EFI binary Munal OS has no bootloader; instead, the entire OS is compiled into a single EFI binary that embeds the kernel, the WASM engine and all the applications. The UEFI boot services are exited almost immediately and no UEFI services are used except for the system clock. Address space UEFI leaves the address space as identity-mapped and Munal OS does not remap it. In fact the page tables are not touched at all, because the OS does not make use of virtual address mechanisms. The entire OS technically runs within a single memory space, but something akin to the userspace/kernelspace distinction is provided by WASM sandboxing (see below), preventing arbitrary access to kernel memory by user applications. Drivers Munal OS does not rely on PS/2 inputs or V...

First seen: 2025-06-09 18:19

Last seen: 2025-06-10 18:24