news.volyx.in

Kerla: Monolithic kernel in Rust, aiming for Linux ABI compatibility (github.com)

471 points by Klasiaster · 1792 days ago · 194 comments on HN

Article summary

Kerla is a monolithic operating system kernel written in Rust, aiming to be compatible with the Linux ABI, allowing it to run Linux binaries without modifications. The project implements various system calls and supports pseudo file systems, TCP/IP, and x86_64 architecture. The kernel is no longer maintained, and the author has moved on to a new project called FTL. A demo of Kerla is available, allowing users to SSH into the system and experiment with it.

Main themes

  • Rust programming language
  • Linux kernel
  • Operating system design
  • Systems programming
  • Memory safety
  • Device driver compatibility
  • Alternative kernels
  • Programming language choice

What commenters say

  • Rewriting the Linux kernel in Rust is unnecessary and will not happen.
  • Using Rust for systems programming provides memory safety benefits and can help prevent common errors.
  • The Linux kernel's existing architecture and device driver model make it difficult to emulate or replace with a Rust-based alternative.
  • Experimenting with new operating system designs and languages like Rust can lead to innovative solutions and improvements.
  • The idea that Linux needs to be rewritten in Rust to survive is an exaggeration and not supported by evidence.
  • Rust's advantages in terms of memory safety and maintainability make it a desirable choice for systems programming, even if it's not a replacement for existing systems.
  • Emulating the Linux device driver model in a Rust-based kernel is a complex task due to the lack of a stable ABI or API.
  • The use of Rust in systems programming is not just about technical benefits, but also about the language's growing popularity and community support.