Maestro: A Linux-compatible kernel in Rust

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • linux

    Linux kernel source tree

  • The Linux Kernel Driver Interface

    (all of your questions answered and then some)

    https://github.com/torvalds/linux/blob/master/Documentation/...

  • kata-containers

    Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolation and security advantages of VMs. https://katacontainers.io/

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • gvisor

    Application Kernel for Containers

  • Isn't gVisor kind of this as well?

    "gVisor is an application kernel for containers. It limits the host kernel surface accessible to the application while still giving the application access to all the features it expects. Unlike most kernels, gVisor does not assume or require a fixed set of physical resources; instead, it leverages existing host kernel functionality and runs as a normal process. In other words, gVisor implements Linux by way of Linux."

    https://github.com/google/gvisor

  • cyclone

    Cyclone is a type- and memory-safe dialect of C (by pippijn)

  • One of the inspirations for Rust, as I recall, was Cyclone: https://cyclone.thelanguage.org/

    Which was/is a "safe" dialect of C; basically C extended with a bunch of the stuff that made it into Rust (algebraic datatypes, pattern matching, etc.) Though its model of safety is not the borrow checker model that Rust has.

    Always felt to me like something like Cyclone would be the natural direction for OS development to head in, as it fits better with existing codebases and skillsets.

    In any case, I'm happy to see this stuff happening in Rust.

  • aero

    Aero is a new modern, experimental, UNIX-like operating system following the monolithic kernel design. Supporting modern PC features such as long mode, 5-level paging, and SMP (multicore), to name a few.

  • This feels like an ad; the blog post and the README feel like they were written to sound complicated and smart rather than tell the whole truth. Like, "On boot, the kernel has full access to the memory and is allowed to write where it should not (its own code, for example)"? Apart from the fact that ring 0 will always have full control, the MMU also exists. Also, the "48k" (the kernel has 34324 lines of non-comment code, the rest are in the other repos I assume) LOC are obvious when you consider code like src/syscall/mod.rs:717 is present.

    To be fair, this is impressive, but its a basic monolithic kernel written for a school project, with the "twist" that it is in Rust and uses Linux syscalls.

    For anyone who is interesting in more Rust UNIX-like kernels, Aero (https://github.com/Andy-Python-Programmer/aero) is farther ahead supports running quite a lot of recompiled Linux userspace, including dwm and WebKit.

  • cosmic-epoch

    Next generation Cosmic desktop environment

  • https://blog.system76.com/post/the-spirit-of-cosmic-december...

    Components of Cosmic Desktop Rust-based Desktop Environment: https://github.com/pop-os/cosmic-epoch#components-of-cosmic-...

    cosmic-comp/src/wayland/handlers

  • cosmic-comp

    Compositor for the COSMIC desktop environment

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts