Cette page est affichée en anglais. Une traduction française est en cours.
ConfigsMay 20, 2026·3 min de lecture

SerenityOS — Unix-Like Operating System Built from Scratch

SerenityOS is a graphical Unix-like operating system written from scratch in C++ with its own kernel, userland, browser engine, and desktop environment. It serves as a learning platform for systems programming.

Prêt pour agents

Cet actif peut être lu et installé directement par les agents

TokRepo expose une commande CLI universelle, un contrat d'installation, le metadata JSON, un plan selon l'adaptateur et le contenu raw pour aider les agents à juger l'adaptation, le risque et les prochaines actions.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
SerenityOS Overview
Commande CLI universelle
npx tokrepo install 20fcb6f3-5447-11f1-9bc6-00163e2b0d79

Introduction

SerenityOS is a from-scratch Unix-like operating system that includes its own preemptive kernel, graphical desktop environment, web browser, text editor, terminal emulator, and hundreds of other utilities — all written without using third-party code. Started by Andreas Kling in 2018, the project has grown into a large community effort and serves as both a usable hobby OS and an educational resource for systems programming.

What SerenityOS Does

  • Provides a complete graphical desktop environment with a 1990s-inspired aesthetic
  • Runs a custom preemptive multitasking kernel with POSIX compatibility
  • Includes a web browser with its own HTML/CSS rendering and JavaScript engine
  • Ships with development tools: an IDE, debugger, profiler, and SQL database
  • Supports networking, audio, games, and a growing collection of ported applications

Architecture Overview

The SerenityOS kernel is a monolithic kernel written in modern C++ with support for SMP, virtual memory, ext2 and FAT filesystems, and TCP/IP networking. The display server (WindowServer) handles compositing and input routing. LibWeb and LibJS form the browser engine, which evolved into the independent Ladybird browser project. IPC between processes uses a custom serialization protocol over Unix sockets. The entire system builds with a custom cross-compilation toolchain.

Self-Hosting & Configuration

  • Build from source using the included Meta/serenity.sh script on Linux or macOS hosts
  • Run in QEMU, VirtualBox, or on bare-metal x86-64 hardware (experimental)
  • The cross-toolchain build takes 30-60 minutes on first setup
  • Configuration files live in /etc within the SerenityOS filesystem
  • Hack on individual components by editing C++ source and rebuilding incrementally

Key Features

  • Every component is written from scratch with no dependency on external libraries
  • Active contributor community with thousands of merged pull requests
  • The Ladybird browser engine spun off into its own cross-platform project
  • Comprehensive LibC and POSIX compatibility layer for porting Unix software
  • Built-in developer tools including HackStudio IDE and Profiler

Comparison with Similar Tools

  • Linux — production-grade kernel with vast hardware support; SerenityOS prioritizes simplicity and educational value over production use
  • Redox OS — Rust-based microkernel OS; SerenityOS uses a monolithic kernel in C++ with a more complete desktop experience
  • Haiku — continuation of BeOS with similar retro aesthetics; SerenityOS is Unix-like while Haiku follows the BeOS API model
  • MINIX 3 — microkernel OS for education and reliability research; SerenityOS focuses on a full graphical desktop experience

FAQ

Q: Can SerenityOS be used as a daily-driver operating system? A: Not yet. It is a hobby and educational OS that lacks driver support and stability for daily use.

Q: What is the relationship between SerenityOS and Ladybird? A: Ladybird started as the SerenityOS browser and became an independent cross-platform browser project using the same LibWeb engine.

Q: What programming language is SerenityOS written in? A: Modern C++ (C++23) with no third-party runtime dependencies.

Q: Can I run SerenityOS on real hardware? A: Experimental bare-metal support exists for x86-64, but QEMU is the recommended way to run it.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires