12 puan yazan xguru 2021-10-12 | 1 yorum | WhatsApp'ta paylaş
  • 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

Reklam

→ 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)

Reklam

→ 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)

Reklam

→ 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)

Reklam

→ 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
Reklam

→ 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

 
xguru 2021-10-12

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