Serenity Operating System
at hosted 103 lines 3.3 kB view raw view rendered
1# SerenityOS 2 3Graphical Unix-like operating system for x86 computers. 4 5![Travis CI status](https://api.travis-ci.com/SerenityOS/serenity.svg?branch=master) 6 7## About 8 9SerenityOS is a love letter to '90s user interfaces with a custom Unix-like core. It flatters with sincerity by stealing beautiful ideas from various other systems. 10 11Roughly speaking, the goal is a marriage between the aesthetic of late-1990s productivity software and the power-user accessibility of late-2000s \*nix. This is a system by us, for us, based on the things we like. 12 13I (Andreas) regularly post raw hacking sessions and demos on [my YouTube channel](https://www.youtube.com/c/AndreasKling/). 14 15Sometimes I write about the system on [my github.io blog](https://awesomekling.github.io/). 16 17I'm also on [Patreon](https://www.patreon.com/serenityos) and [GitHub Sponsors](https://github.com/sponsors/awesomekling) if you would like to show some support that way. 18 19## Screenshot 20 21![Screenshot as of 1133aca](https://raw.githubusercontent.com/SerenityOS/serenity/master/Meta/screenshot-1133aca.png) 22 23## Kernel features 24 25* x86 (32-bit) kernel with pre-emptive multi-threading 26* Hardware protections (SMEP, SMAP, UMIP, NX, WP, TSD, ...) 27* IPv4 stack with ARP, TCP, UDP and ICMP protocols 28* ext2 filesystem 29* POSIX signals 30* Purgeable memory 31* /proc filesystem 32* Pseudoterminals (with /dev/pts filesystem) 33* Filesystem notifications 34* CPU and memory profiling 35* SoundBlaster 16 driver 36* VMWare/QEMU mouse integration 37 38## System services 39 40* Launch/session daemon (SystemServer) 41* Compositing window server (WindowServer) 42* Text console manager (TTYServer) 43* DNS client (LookupServer) 44* Network protocols server (ProtocolServer) 45* Software-mixing sound daemon (AudioServer) 46* Desktop notifications (NotificationServer) 47* HTTP server (WebServer) 48* Telnet server (TelnetServer) 49 50## Libraries 51 52* C++ templates and containers (AK) 53* Event loop and utilities (LibCore) 54* 2D graphics library (LibGfx) 55* GUI toolkit (LibGUI) 56* Cross-process communication library (LibIPC) 57* HTML/CSS engine (LibWeb) 58* JavaScript engine (LibJS) 59* Markdown (LibMarkdown) 60* Audio (LibAudio) 61* PCI database (LibPCIDB) 62* Terminal emulation (LibVT) 63* Network protocols (HTTP) (LibProtocol) 64* Mathematical functions (LibM) 65* ELF file handing (LibELF) 66* POSIX threading (LibPthread) 67* Higher-level threading (LibThread) 68 69## Userland features 70 71* Unix-like libc and userland 72* Shell with pipes and I/O redirection 73* On-line help system (both terminal and GUI variants) 74* Web browser (Browser) 75* C++ IDE (HackStudio) 76* IRC client 77* Desktop synthesizer (Piano) 78* Various desktop apps & games 79* Color themes 80 81## How do I build and run this? 82 83See the [SerenityOS build instructions](https://github.com/SerenityOS/serenity/blob/master/Documentation/BuildInstructions.md) 84 85## Wanna chat? 86 87Come hang out with us in `#serenityos` on the Freenode IRC network. 88 89## Author 90 91* **Andreas Kling** - [awesomekling](https://twitter.com/awesomekling) 92 93## Contributors 94 95* **Robin Burchell** - [rburchell](https://github.com/rburchell) 96* **Conrad Pankoff** - [deoxxa](https://github.com/deoxxa) 97* **Sergey Bugaev** - [bugaevc](https://github.com/bugaevc) 98 99(And many more!) Feel free to append yourself here if you've made some sweet contributions. :) 100 101## License 102 103SerenityOS is licensed under a 2-clause BSD license.