SerenityOS - 90 के दशक के GUI में बनाया गया एक Unix-like OS
(serenityos.org)-
1990 के दशक के आखिर के Windows/Mac UI और 2000 के दशक के आखिर के *nix core का मिला-जुला एहसास देने वाला OS
-
एक single-person project के रूप में शुरू हुआ, और 3 साल से community के समर्थन से बढ़ रहा है
-
kernel से लेकर web browser/IDE तक सब कुछ "बिना external libraries के, पूरी तरह नीचे से खुद विकसित" किया गया है
-
सिस्टम स्वयं Serenity C++ में विकसित किया गया है.
→ अपनी standard library के साथ modern C++ का एक variant
Repo : https://github.com/SerenityOS/serenity
- kernel features
→ preemptive multithreading को support करने वाला x86(32bit) / x86_64(64bit) kernel
→ IPv4 stack (ARP, TCP, UDP, ICMP)
→ ext2 file system
→ POSIX signal support
→ /proc filesystem support
- 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)
- libraries
→ C++ templates and containers (AK)
→ Event loop and utilities (LibCore)
→ 2D graphics library (LibGfx)
→ OpenGL 1.x compatible library (LibGL)
→ GUI toolkit (LibGUI)
→ Cross-process communication library (LibIPC)
→ HTML/CSS engine (LibWeb)
→ JavaScript engine (LibJS)
→ Markdown (LibMarkdown)
→ Audio (LibAudio)
→ Digital Signal Processing/Synthesizer Chains (LibDSP)
→ PCI database (LibPCIDB)
→ Terminal emulation (LibVT)
→ Out-of-process network protocol I/O (LibProtocol)
→ Mathematical functions (LibM)
→ ELF file handling (LibELF)
→ POSIX threading (LibPthread)
→ Higher-level threading (LibThreading)
→ Transport Layer Security (LibTLS)
→ HTTP and HTTPS (LibHTTP)
→ IMAP (LibIMAP)
- Userland features
→ Unix-like libc and userland
→ pipes और I/O redirection के साथ shell
→ On-line help system (terminal और GUI variants दोनों)
→ Web browser (Browser)
→ C++ IDE (HackStudio)
→ Desktop synthesizer (Piano)
→ E-mail client (Mail)
→ Various desktop apps & games
→ Color themes
1 टिप्पणियां
शौक़िया तौर पर बनाए जाने वाले OS में यह सबसे अनोखों में से एक लगता है। इतने सारे library और apps को implement करके इसमें शामिल किया गया है, यह भी काफ़ी हैरान करने वाली बात है.
मूल निर्माता Andreas Kling ने 2018 में 3 महीने का drug addiction rehabilitation program पूरा करने के बाद, अपने पास ज़्यादा समय होने पर समय बिताने के लिए इस प्रोजेक्ट की शुरुआत की थी.
वह पहले Apple और Nokia में WebKit development करने वाले डेवलपर थे। कहा जाता है कि Apple में काम करने के अनुभव की वजह से वे external packages के बिना सब कुछ खुद develop करने की दिशा में काम कर रहे हैं.
इस साल मई से donation काफ़ी बढ़ जाने के कारण वे अब SerenityOS पर full-time काम कर रहे हैं.
GitHub Sponsors के ज़रिए इस समय 232 लोग समर्थन कर रहे हैं। https://github.com/sponsors/awesomekling
Patreon पर 279 लोग हैं। https://www.patreon.com/serenityos
contributors की संख्या 500 से ऊपर जा चुकी है, और YouTube channel पर भी हर महीने OS updates अपलोड किए जाते हैं.
https://youtube.com/playlist/?list=PLMOpZvQB55bfp6ykOLayLqLrjcpv_Sw3P
2019 की शुरुआत में अपडेट लगभग 10 मिनट के होते थे, लेकिन आजकल उनकी लंबाई 30~40 मिनट तक हो गई है.
Diablo 1 को reverse engineering करके बनाए गए Devilution को SerenityOS पर सिर्फ़ एक घंटे में port कर देने वाला वीडियो भी काफ़ी मशहूर है.
https://github.com/diasurgical/devilution
https://www.youtube.com/watch?v=ZOzZ8R4gphE