Serenity Os
SerenityOS is a graphical Unix-like operating system for desktop computers! It is a love letter to the ’90s user interface with a custom Unix-like core. It flatters with sincerity by stealing beautiful ideas from various other systems.
Why are you building SerenityOS? / What is your goal with SerenityOS? Andreas Kling: I started building SerenityOS to keep myself busy after finishing a 3-month drug addiction rehab program in 2018. My goal is to build a desktop system for myself to use. I’m not trying to attract users or appeal to anyone other than myself. Since I started, other people have joined the project with their own motivations, and I have no control over what motivates them.
Kernel features
- x86 (32-bit) and x86_64 (64-bit) kernel with pre-emptive multi-threading
- Hardware protections (SMEP, SMAP, UMIP, NX, WP, TSD, …)
- IPv4 stack with ARP, TCP, UDP and ICMP protocols
- ext2 filesystem
- POSIX signals
- Purgeable memory
- /proc filesystem
- Pseudoterminals (with /dev/pts filesystem)
- Filesystem notifications
- CPU and memory profiling
- SoundBlaster 16 driver
- VMWare/QEMU mouse integration
System services
- Launch/session daemon (SystemServer)
- Compositing window server (WindowServer)
- Text console manager (TTYServer)
- DNS client (LookupServer)
- Network protocols server (RequestServer and WebSocket)
- Software-mixing sound daemon (AudioServer)
- Desktop notifications (NotificationServer)
- HTTP server (WebServer)
- Telnet server (TelnetServer)
- DHCP client (DHCPClient)
Userland features
- Unix-like libc and userland
- Shell with pipes and I/O redirection
- On-line help system (both terminal and GUI variants)
- Web browser (Browser)
- C++ IDE (HackStudio)
- Desktop synthesizer (Piano)
- E-mail client (Mail)
- Various desktop apps & games
- Color themes
References
Authors
Master Student Embedded Systems. Great interests in Internet of Things, Real-Time Operating Systems and Smart Home devices.
Exchange student. Major in Wireless Communication. Study in Blockchain and Internet of Thing.