Google reveals another experimental operating system: KataOS
Based on Rust, on top of seL4 – a big deal in the microkernel world
Google, one of very few tech companies willing to experiment with new operating systems, has unveiled KataOS for embedded machine learning devices.
KataOS was announced along with Sparrow on the Google Open Source blog. KataOS is the operating system design and Sparrow is the reference implementation, as the Weston display server is the reference implementation of Wayland.
The plan is that KataOS will be "a provably secure platform that's optimized for embedded devices that run ML applications." Google is working with Antmicro, which created the seL4-sys crate. Currently the OS is being developed on the Arm64 instruction set, but the plan is to run it on openTitan, which uses RISC-V.
The new operating system is "written almost entirely in Rust," according to its introduction on GitHub. This excludes the underlying microkernel, which is seL4, something The Reg FOSS desk mentioned when covering the experimental Neptune OS in February.
As seL4 is implemented mainly in C, the project uses CAmkES – component architecture for microkernel based embedded systems, which uses Haskell and Python – as an abstraction layer to join the C and Rust layers together.
Microkernels were seen as the Next Big Thing back in the 1980s. Although they haven't had a lot of mainstream impact, they are out there in large numbers. Minix 3, by OG Linux critic Dr Andy Tanenbaum, is a successful FOSS microkernel used in the system management controller in millions of Intel CPUs. QNX, the basis for Blackberry 10 and the money-making bit of Blackberry, is a best-selling commercial microkernel.
- Linux kernel 6.1 will contain fixes, features. Useful Rust modules? Not yet
- Linux 6.1: Rust to hit mainline kernel
- Is it time to retire C and C++ for Rust in new programs?
- Rust is eating into our systems, and it's a good thing
The one you're most likely to have seen or used is doubtless Apple's macOS (formerly Mac OS X, and before that NeXTstep), which is based on the open source XNU kernel. This is based on Carnegie Mellon University's Mach, one of the first generation of microkernels, but XNU has a large in-kernel "Unix server" based on FreeBSD code, so it's technically a hybrid kernel rather than a pure microkernel.
Security Enhanced L4, or seL4 for short, is a member of the greater L4 family, which was specifically designed by the late Jochen Liedtke [PDF] in response to Mach, with the goal of improving microkernel performance. It has been around for a good while – The Reg was reporting on it nearly a decade ago.
Yes, it's possible that this Sparrow may fall off its perch. It's a new contender for the Google graveyard, along with the recently axed Stadia game streaming platform, which we accurately called when it launched.
But on the other hand, the baseline for success for a very niche system such as this is lower than for a more general-purpose OS. Of previous Google OS efforts, the best known is Fuchsia, which the company did end up shipping. ®