Redox OS: Wer nicht rustet, rostet
Die Programmiersprache Rust zieht mit ihrem Versprechen von weniger fehleranfälligen und trotzdem schnellen Programmen einige Aufmerksamkeit auf sich. Was liegt also näher, als ein ganzes Betriebssystem damit zu schreiben? Ein Blick auf Redox OS.
Die von Mozilla als sichere Alternative zu C und C++ positionierte Sprache Rust soll zur Systemprogrammierung eingesetzt werden. Das heißt, zusätzlich zu besonders großen oder sicherheitskritischen Anwendungen sollen mit Rust auch grundlegende Bestandteile wie Treiber oder gar ganze Betriebssysteme erstellt werden. Letzteres versucht das Projekt Redox OS umzusetzen, beschränkt sich dabei aber nicht auf eine sichere Implementierung in Rust, sondern dient auch als Experimentierumgebung für viele weitere Grundbausteine eines Systems.
- Redox OS: Wer nicht rustet, rostet
- Feuertaufe von Rust
Das Designprinzip von Redox OS ist wie bei den meisten aktuellen Betriebssystemen Unix-ähnlich. Zu dem wohl bekanntesten, Linux, ist Redox aber nicht direkt kompatibel. Das bedeutet: Programme müssen von Linux portiert werden, um unter Redox OS lauffähig zu sein, der Aufwand sollte sich für kleinere Anwendungen aber in Grenzen halten. Wichtige Vorbilder beim Design von Redox OS waren neben Linux Plan9 (alles ist eine URL), Minix (Mikrokernel) und BSD, doch dazu später mehr.
Einfache Installation zum Ausprobieren
Trotz des vergleichsweise noch sehr geringen Projektalters und des kleinen Teams kann Redox bereits einfach ausprobiert werden. Auf der Projektseite kann dazu das aktuelle Installationsmedium heruntergeladen werden oder alternativ auch ein fertiges Festplattenimage für die gängigen Virtualisierungsprogramme. Die Abbilder sind mit etwa 30 MByte geradezu winzig, der Installer von Redox fällt etwas größer aus, da dieser derzeit noch auf Linux aufbaut.
Ein kurzer Test des fertigen Images für Qemu verläuft weitgehend problemlos. Beim Start fragt der Bootloader nach der zu verwendenden Bildschirmauflösung, da diese in der virtuellen Maschine nicht erkannt wird. Nachdem einige Versuche fehlgeschlagen sind, dies mit der Y-Taste zu bestätigen, kommt die Erleuchtung: Die Tastaturbelegung ist US-amerikanisch, und ein Druck auf Z bestätigte die richtige Auflösung. Nach dem Boot grüßt eine Textkonsole mit einer Anmeldeaufforderung. Diese ist allerdings noch nicht funktionsfähig, so dass der Druck auf Enter ausreicht, um in der Shell zu landen.
Zahlreiche Werkzeuge im Lieferumfang enthalten
Bei der Shell handelt es sich um Ion, die eine Neuentwicklung in Rust ist und neben interaktiven Komfortfunktionen wie Tab-Vervollständigung auch Unterstützung für Skripte bietet. Die Arbeiten an deren Syntax sind allerdings noch nicht vollendet. Zum einfachen Testen kann Ion auch unter Linux ausgeführt werden.
Im Redox OS Image befinden sich darüber hinaus zurzeit rund 70 weitere Programme. Für die Shell sind dies die Redox OS Coreutils, welche die BSD Coreutils in Rust neu implementieren. Diese bieten grundlegenden Funktionen wie zum Beispiel das Erstellen von Dateien und Verzeichnissen oder die Navigation im Dateisystem.
In der Programmsammlung befinden sich auch eine Reihe konsolenbasierter Unterhaltungsprogramme, wie etwa eine Implementation von Tetris (Reblox), Snake und ein der Website Hackertyper nachempfundener Programmiersimulator (H4xx3r). Leider sind nicht alle diese Programme stabil. So stürzt etwa Snake zuverlässig ab, falls man das Spiel verliert, und reißt gleich das ganze System mit sich.
Interessant wäre es, einen Rust Compiler direkt im System zu haben, da Redox OS dann bereits seine eigene Entwicklungsumgebung bereitstellen würde. Dies wurde allerdings noch nicht umgesetzt.
Von Schwarz-Weiß zu Farbe
Zusätzlich zur Kommandozeile gibt es noch die grafische Oberfläche "Orbital" mit einigen dafür entwickelten Programmen. Gestartet wird sie durch die Eingabe von orbital in die Textkonsole. Danach präsentiert sich Redox OS in einem sehr schlichten, aber ansprechenden Design. Den Hintergrund ziert das Logo des Betriebssystems und am unteren Rand findet sich eine Menüleiste mit ein paar Programmen und einem Ausschaltknopf in der rechten unteren Ecke.
Die Oberfläche hat einen minimalen Funktionsumfang, Fenster lassen sich öffnen, verschieben und schließen, nicht mehr und nicht weniger. Ebenso minimal ist die Ausstattung an Programmen mit grafischer Oberfläche, ein Taschenrechner, zwei Editoren, ein Dateimanager, ein Audioplayer und zwei Demoprogramme, um die Fähigkeiten des Grafik-Toolkits OrbTK zu testen. Einen Displayserver wie bei X11 oder Wayland sucht man bei Redox OS noch vergeblich. Im aktuellen Entwicklungsstadium wird noch direkt in den Framebuffer gezeichnet.
Mit dieser Ausstattung ist Redox OS von jeglichem produktivem Einsatz noch weit entfernt. Auch gelegentliche Abstürze, bei denen das System einfach hängen bleibt, müssen noch in Kauf genommen werden. Von Bedeutung ist Redox wohl aber sowieso nur als Experiment für die Fähigkeiten der Sprache Rust.
Feuertaufe von Rust |
- 1
- 2
Das stimmt so nicht. Das Typsystem verhindert bestimmte Konstrukte, zum Beispiel...
Vielen Dank soweit fuer die Infos.
Mir ist dieser Widerspruch auch sofort aufgefallen und musste drüber lachen. Aber mal...
Danke, davor ziehe ich den Hut. Kein "wir sind besser", sondern ein klares: "wir...