SerenityOS: Ein grafisches Unix-artiges Betriebssystem

Mo, 12. April 2021, Niklas

Das SerenityOS Projekt wurde am 10. Oktober 2018 vom Programmierer Andreas Kling gestartet. Es besteht fast komplett aus Eigenentwicklungen, einschliesslich dem Kernel und der Desktop Oberfläche. Die Arbeit an ersterem wurde bereits früher begonnen.

Ziel des Projekts ist es, ein neues Unix-artiges Betriebssystem zu entwickeln, das über genug Funktionen verfügt, um als Hauptsystem für alle alltäglichen Aufgaben genutzt werden zu können. Davon ist es im heutigen Zustand noch weit entfernt und doch kann es schon erstaunlich viel für ein so junges Projekt.

SerenityOS ist schnell und sparsam. Es startet selbst in einer QEMU Virtual Machine in wenigen Sekunden und hat mit der Standardkonfiguration des QEMU Startscripts nur 512 MB RAM zur Verfügung, die im Leerlauf mit Desktopumgebung und sonst nichts etwa zur Hälfte gefüllt sind. Ich habe meine Konfiguration auf 3 GB erhöht, davon wurde aber nie mehr als 1 GB verbraucht.

Mich begrüsst ein gut bekanntes Design: Ich erinnere mich zurück an die guten alten Zeiten mit Windows 98, als Computer noch ohne viel Schnickschnack einfach das getan haben, wozu man sie gebraucht hat. Es war damals vielleicht nicht alles besser, aber doch das Meiste. Diesen Gedanken dürfte wohl auch der Projektleiter gehabt haben, immerhin ist der Nachbau eines User-Interface aus den 1990ern ausdrücklich ein Ziel des Projekts.

Anfang 2019 wurde zunächst ein Konzept ausprobiert, das mehr an die Statusleiste von macOS angelehnt ist, wobei die restlichen grafischen Elemente schon eher an eine alte Windows Version erinnerten. Später wurde die Statusleiste durch eine Taskleiste ersetzt, wie man sie von Windows kennt.

Die Desktopumgebung basiert auf der Simple DirectMedia Layer Bibliothek. Mit LibGUI gibt es bereits eine eigene Bibliothek, mit der neue Programme geschrieben werden können (Anleitung), die sich gut in den restlichen Desktop einpassen. Es stehen noch viele weitere Bibliotheken zur Verfügung, darunter LibWeb für HTML und CSS, LibJS für Javascript und LibMarkdown für Markdown.

Die GNU Compiler Collection wurde bereits auf SerenityOS portiert und macht das Kompilieren eigener SerenityOS Programme möglich. Ein Paketmanagementsystem, das die einfache Installation und Verwaltung von Programmen als Binärpakete erlauben würde, ist allerdings noch nicht vorhanden.

SerenityOS verfügt über eine Vielzahl an vorinstallierten Programmen. Alle sind relativ einfach gehalten und bieten zugleich die wichtigsten Funktionen. Es gibt einen Webbrowser mit eigener Rendering Engine, der bis jetzt aber noch sehr eingeschränkt funktioniert. Mit HackStudio ist bereits eine IDE für C++ vorhanden, die sogar Syntax Highlighting unterstützt.

Ein IRC Client, der sich beim Starten direkt in den Freenode Channel des Projekts einwählt, ist auch vorhanden. Ausserdem gibt es einen Texteditor mit Vorschaufunktion für HTML und Markdown, allerdings ohne direkte Formatierungsmöglichkeit im Text und ein Tabellenkalkulationsprogramm, das durch Javascript Unterstützung sogar einige Befehle versteht.

Ein echtes Highlight des Systems sind die zahlreichen Spiele. Es handelt sich dabei hauptsächlich um alte Klassiker, die eher einfach zu programmieren sind, aber trotzdem einen enormen Suchtfaktor entwickeln können. Darunter befinden sich unter anderem der Nokia-Klassiker Snake, das Brettspiel Schach, wo man wahlweise gegen einen Mitspieler oder eine künstliche Intelligenz spielen kann oder auch 2048.

SerenityOS ist nur in Form des Quellcodes erhältlich und muss von jedem Anwender selbst kompiliert werden, was auf allen gängigen Systemen möglich ist. Es sollte in einer QEMU Virtual Machine benutzt werden, da bis jetzt kaum Treiber vorhanden sind und die Nutzung somit auf echter Hardware in den meisten Fällen unmöglich ist.

Fazit: Es macht Spass, sich mit SerenityOS zu beschäftigen. Auch wenn es noch weit davon entfernt ist, für den Alltagsgebrauch geeignet zu sein, bietet es schon sehr viele Funktionen für die kurze Entwicklungszeit. Vor allem die Tatsache, dass SerenityOS auf viele Eigenentwicklungen setzt, macht es sehr interessant, weil es sich damit von anderen Unix-artigen und Unix-basierten Betriebssystemen abhebt.

Quellen:

Stephan
Geschrieben von Stephan am 18. April 2021

Kleiner Fehler: Die Desktopumgebung basiert nicht auf SDL. Der allererste Prototyp der GUI wurde mit SDL entwickelt, dann aber ziemlich schnell ins system integriert. Es existiert allerdings ein port für SDL2 :^)

Joël Admin
Geschrieben von Joël am 19. April 2021

Danke für den Hinweis, habe es an den Autor weitergeleitet.

Unzappable Sam
Geschrieben von Unzappable Sam am 16. April 2021

Quake, Doom und Diablo sind auch auf SerenityOS portiert, 90s yeah!

Monstanner
Geschrieben von Monstanner am 12. April 2021

Also ich muss wirklich sagen, dass das Redmond Thema / Windows 9.X Thema immer noch gut und Zeitlos aussieht. Klar errinert es an die 90er. Allerdings ist dies nicht so schlimm, wie man meint. Manche lieben dieses Thema auch, oder sogar dass ganze Look and Feel. Was noch schön anzusehen ist, die Franklin Gothic Font (Wurde damals bei der Windows 9.X Family genutzt.) im ersten Bild bei dem Systemfenster "Winver". Werde das Projekt im Auge behalten. Hoffentlich geht es etwas schneller voran als bei ReactOS, Haiku und den anderen in der Runde.

nipos
Geschrieben von nipos am 13. April 2021

Ich bin auch ein grosser Fan dieser alten Designs. Hab hier auch ein Windows XP Theme auf KDE Plasma eingestellt. Vielleicht war der Satz ein bisschen missverstaendlich. Ich wollte mit "nicht alles war frueher besser" nicht das Design kritisieren, sondern die Tatsache, dass Windows 98 auch so seine Bugs hatte und dass damals die Sicherheit noch keine so grosse Rolle gespielt hat - Die zwei Sachen haben sich meiner Meinung nach erst spaeter erheblich verbessert, sonst waere ich vielleicht jetzt noch bei Win98. Zu den anderen erwaehnten Systemen: Also stabiler als ReactOS ist es jetzt schon, wobei es auch etwas komplizierter sein duerfte, einen NT-kompatiblen Kernel nachzubauen. Ich hatte auch mal einen Artikel zu ReactOS in Planung, aber das war mir noch zu instabil. Haiku hingegen funktioniert ausgezeichnet. Das habe ich seit ein paar Monaten als Hauptsystem auf meinem PC. Es fehlt hier und da noch ein bisschen an Software, aber das System ist sehr stabil und in seiner Bedienung den gaengigen Desktopumgebungen um Jahre voraus. Werde heute Mittag die grosse Artikelserie zum Thema Haiku starten.

Monstanner
Geschrieben von Monstanner am 13. April 2021

Habe ich schon gelesen, mit dem Windows XP Thema. Sieht echt Klasse aus. Ich selber habe auch dazu mal eine Video Reihe auf YouTube gemacht. Nennt sich G/LES. Einfach mal mit meinem Namen als Anhang suchen. Das erste Video war ein Tutorial, wie man Linux Mint installiert. Und das zweite, wie man ein Windows 10 Thema auf Linux Mint installiert. Dazu wurde gezeigt, wie man das bei nur einem Benutzer installiert und auch noch für andere Konten (falls vorhanden). Leider habe ich die Serie pausiert, da meine Hardware leider nen Knacks hat. Merkt man auch an der Mikro Qualität. Hatte dann ein Blue Yeti, welches aber auch wieder kaputt ging. Wie dem auch sei. Werde mir die Serie gespannt durchlesen. Bin ja dafür immer zu haben. Alleine schon die Videos von SemperVideo, falls dass ein Name bei Dir ist, finde ich echt spannend. Besonders die Video-Reihe „Sprecher wirft einen Blick zurück”. Einfach nur herrlich diese Videos.