How serenityos/serenity works
SerenityOS is a graphical Unix-like operating system. Its principal user workflow is interacting with GUI applications, including the browser, which relies on userland libraries and OS services; system calls then connect userland to the kernel and hardware. The README documents broader networking, filesystems, security, and desktop capabilities, while the sampled source gives detail only for selected web, storage, and kernel-device components. Accordingly, broader subsystem links are shown only where documented; unsampled internal wiring is omitted.
Main entry points: LibWeb Web engine · Browser Browser · Kernel Kernel core · Applications GUI applications
Components 18
Kernel platform
- Kernel API
Kernel/API - Kernel core
Kernel - CPU architectures
Kernel/Arch - Device drivers
Kernel/Devices - Storage controller
Kernel/Devices/Storage/StorageController.h
Userland system
- GUI applications
Userland/Applications - Browser
Userland/Applications/Browser - System services
Userland/Services - POSIX interface
Userland/Libraries/LibC
Web runtime
- Web engine
Userland/Libraries/LibWeb - CSS selector engine
Userland/Libraries/LibWeb/CSS/SelectorEngine.cpp - Drag and drop
Userland/Libraries/LibWeb/Page/DragAndDropEventHandler.cpp - Web storage API
Userland/Libraries/LibWeb/StorageAPI/StorageManager.cpp
Shared libraries
- Search engine choices
Userland/Libraries/LibWebView/SearchEngine.cpp - AK utilities
AK
Other components
- Computer user
- Computer hardware
- Network services
Connections 17
- Computer user → GUI applications: uses
- Computer user → Browser: browses
- GUI applications → System services: uses
- GUI applications → POSIX interface: uses
- Browser → Web engine: uses
- Browser → Search engine choices: offers search
- Web engine → CSS selector engine: matches selectors
- Web engine → Drag and drop: handles drags
- Web engine → Web storage API: exposes API
- Network services → Browser: serves content
- POSIX interface → Kernel API: invokes syscalls
- Kernel API → Kernel core: dispatches
- Kernel core → CPU architectures: uses CPU support
- Kernel core → Device drivers: manages devices
- Device drivers → Storage controller: implements storage
- Storage controller → Computer hardware: controls storage
- Web engine → AK utilities: uses utilities