SerenityOS – ein Unix-ähnliches OS mit einer GUI im Stil der 90er
(serenityos.org)<p>- Ein OS, das sich anfühlt wie eine Mischung aus der UI von Windows/Mac aus den späten 1990ern und einem *nix-Kern aus den späten 2000ern <br />
- Begann als Ein-Personen-Projekt und wächst seit 3 Jahren mit Unterstützung der Community <br />
- Vom Kernel bis zum Webbrowser/IDE alles „von Grund auf selbst entwickelt, ohne externe Bibliotheken“<br />
- Das System selbst wird in Serenity C++ entwickelt. <br />
→ eine moderne C++-Variante mit eigener Standardbibliothek<br />
<br />
Repo : https://github.com/SerenityOS/serenity<br />
<br />
- Kernel-Funktionen <br />
→ x86- (32bit) / x86_64- (64bit) Kernel mit Unterstützung für präemptives Multithreading <br />
→ IPv4-Stack (ARP, TCP, UDP, ICMP)<br />
→ ext2-Dateisystem <br />
→ Unterstützung für POSIX-Signale <br />
→ Unterstützung für das /proc-Dateisystem <br />
<br />
- Systemdienste <br />
→ Launch-/Session-Daemon (SystemServer)<br />
→ Compositing Window Server (WindowServer)<br />
→ Textkonsolen-Manager (TTYServer)<br />
→ DNS-Client (LookupServer)<br />
→ Server für Netzwerkprotokolle (RequestServer and WebSocket)<br />
→ Sound-Daemon mit Software-Mixing (AudioServer)<br />
→ Desktop-Benachrichtigungen (NotificationServer)<br />
→ HTTP-Server (WebServer)<br />
→ Telnet-Server (TelnetServer)<br />
→ DHCP-Client (DHCPClient)<br />
<br />
- Bibliotheken<br />
→ C++-Templates und Container (AK)<br />
→ Event Loop und Utilities (LibCore)<br />
→ 2D-Grafikbibliothek (LibGfx)<br />
→ OpenGL-1.x-kompatible Bibliothek (LibGL)<br />
→ GUI-Toolkit (LibGUI)<br />
→ Bibliothek für prozessübergreifende Kommunikation (LibIPC)<br />
→ HTML/CSS-Engine (LibWeb)<br />
→ JavaScript-Engine (LibJS)<br />
→ Markdown (LibMarkdown)<br />
→ Audio (LibAudio)<br />
→ Chains für digitale Signalverarbeitung/Synthesizer (LibDSP)<br />
→ PCI-Datenbank (LibPCIDB)<br />
→ Terminalemulation (LibVT)<br />
→ Out-of-process Netzwerkprotokoll-I/O (LibProtocol)<br />
→ Mathematische Funktionen (LibM)<br />
→ Verarbeitung von ELF-Dateien (LibELF)<br />
→ POSIX-Threading (LibPthread)<br />
→ Höherstufiges Threading (LibThreading)<br />
→ Transport Layer Security (LibTLS)<br />
→ HTTP und HTTPS (LibHTTP)<br />
→ IMAP (LibIMAP)<br />
<br />
- Userland-Funktionen<br />
→ Unix-ähnliche libc und Userland<br />
→ Shell mit Pipes und I/O-Umleitung<br />
→ Online-Hilfesystem (sowohl Terminal- als auch GUI-Varianten)<br />
→ Webbrowser (Browser)<br />
→ C++-IDE (HackStudio)<br />
→ Desktop-Synthesizer (Piano)<br />
→ E-Mail-Client (Mail)<br />
→ Verschiedene Desktop-Apps & Spiele<br />
→ Farbthemen</p>
1 Kommentare