# 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. ## Install Save in your project root: # SerenityOS — Unix-Like Operating System Built from Scratch ## Quick Use ```bash # Clone the repository git clone https://github.com/SerenityOS/serenity cd serenity # Build and run in QEMU (requires GCC cross-toolchain) ./Meta/serenity.sh rebuild-toolchain ./Meta/serenity.sh run # Or build just the Ladybird browser component ./Meta/serenity.sh run ladybird ``` ## 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 - https://github.com/SerenityOS/serenity - https://serenityos.org/ --- Source: https://tokrepo.com/en/workflows/asset-20fcb6f3 Author: AI Open Source