SerenityOS - 90'lar GUI'siyle yapılmış Unix-benzeri işletim sistemi
(serenityos.org)-
1990'ların sonundaki Windows/Mac arayüzü ile 2000'lerin sonundaki *nix çekirdeğinin birleşimi gibi hissettiren bir işletim sistemi
-
Tek kişilik bir proje olarak başlayıp 3 yıldır topluluğun desteğiyle büyümeyi sürdürüyor
-
Çekirdekten web tarayıcısı/IDE'ye kadar her şey "harici kütüphane kullanmadan sıfırdan elle geliştirildi"
-
Sistemin kendisi Serenity C++ ile geliştiriliyor.
→ Kendi standart kütüphanesine sahip modern C++'ın bir türevi
Repo : https://github.com/SerenityOS/serenity
- Çekirdek özellikleri
→ Preemptive multithreading destekleyen x86(32bit) / x86_64(64bit) çekirdek
→ IPv4 stack (ARP, TCP, UDP, ICMP)
→ ext2 dosya sistemi
→ POSIX signal desteği
→ /proc dosya sistemi desteği
- Sistem servisleri
→ 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)
→ Masaüstü bildirimleri (NotificationServer)
→ HTTP sunucusu (WebServer)
→ Telnet sunucusu (TelnetServer)
→ DHCP istemcisi (DHCPClient)
- Kütüphaneler
→ 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 özellikleri
→ Unix-benzeri libc ve userland
→ Pipe ve I/O yönlendirmesini destekleyen shell
→ Çevrimiçi yardım sistemi (hem terminal hem GUI sürümleri)
→ Web tarayıcısı (Browser)
→ C++ IDE (HackStudio)
→ Masaüstü synthesizer'ı (Piano)
→ E-posta istemcisi (Mail)
→ Çeşitli masaüstü uygulamaları ve oyunlar
→ Renk temaları
1 yorum
Hobi olarak yapılan işletim sistemleri arasında en özgün olanlardan biri gibi görünüyor. O kadar çok sayıda library ve uygulamayı hayata geçirip içine eklemiş olmaları da gerçekten şaşırtıcı.
Orijinal yaratıcısı Andreas Kling, 2018'de üç aylık bir madde bağımlılığı rehabilitasyon programını tamamladıktan sonra, daha fazla boş zamanı olunca vakit geçirmek için bu projeye başlamış.
Daha önce Apple ve Nokia'da WebKit geliştiren bir geliştiriciydi. Apple'da çalıştığı deneyimin etkisiyle, harici paketler olmadan her şeyi kendisinin geliştirmesini hedeflediği söyleniyor.
Bu yılın mayıs ayından itibaren ise destek miktarı artık yeterince arttığı için SerenityOS üzerinde tam zamanlı çalışıyor.
Şu anda GitHub Sponsors üzerinden 232 kişi destek veriyor. https://github.com/sponsors/awesomekling
Patreon'da ise 279 kişi var. https://www.patreon.com/serenityos
Katkı sağlayanların sayısı 500'ü geçti ve YouTube kanalına da her ay işletim sistemi güncellemeleri yüklüyor.
https://youtube.com/playlist/?list=PLMOpZvQB55bfp6ykOLayLqLrjcpv_Sw3P
2019'un başlarında videolar 10 dakika civarındaydı, bugünlerde ise güncellemeler 30~40 dakikalık içeriklere dönüşmüş durumda.
Diablo 1'i reverse engineering ile yeniden hayata geçiren Devilution'ı SerenityOS'ta yalnızca bir saat içinde port ettiği video da oldukça meşhur.
https://github.com/diasurgical/devilution
https://www.youtube.com/watch?v=ZOzZ8R4gphE