Serenity Operating System
at portability 93 lines 3.0 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* DNS client (LookupServer) 43* Software-mixing sound daemon (AudioServer) 44 45## Libraries 46 47* C++ templates and containers (AK) 48* Event loop and utilities (LibCore) 49* 2D graphics library (LibGfx) 50* GUI toolkit (LibGUI) 51* Cross-process communication library (LibIPC) 52* HTML/CSS engine (LibHTML) 53* Markdown (LibMarkdown) 54* Audio (LibAudio) 55* PCI database (LibPCIDB) 56* Terminal emulation (LibVT) 57* Network protocols (HTTP) (LibProtocol) 58 59## Userland features 60 61* Unix-like libc and userland 62* Shell with pipes and I/O redirection 63* On-line help system (both terminal and GUI variants) 64* Web browser (Browser) 65* C++ IDE (HackStudio) 66* IRC client 67* Desktop synthesizer (Piano) 68* Various desktop apps & games 69* Color themes 70 71## How do I build and run this? 72 73See the [SerenityOS build instructions](https://github.com/SerenityOS/serenity/blob/master/Documentation/BuildInstructions.md) 74 75## Wanna chat? 76 77Come hang out with us in `#serenityos` on the Freenode IRC network. 78 79## Author 80 81* **Andreas Kling** - [awesomekling](https://twitter.com/awesomekling) 82 83## Contributors 84 85* **Robin Burchell** - [rburchell](https://github.com/rburchell) 86* **Conrad Pankoff** - [deoxxa](https://github.com/deoxxa) 87* **Sergey Bugaev** - [bugaevc](https://github.com/bugaevc) 88 89(And many more!) Feel free to append yourself here if you've made some sweet contributions. :) 90 91## License 92 93SerenityOS is licensed under a 2-clause BSD license.