/ OSS / Redox OS: Wer nicht rustet, rostet

Redox OS: Wer nicht rustet, rostet

124867-131312-i_rc.jpg
Gerfried Steube an Dezember 9, 2016 - 11:22 pm in OSS

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.

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.

  • Bei deutschem Tastaturlayout verhält sich die Auflösungsauswahl anfangs widerspenstig. (Bild: Christoph Reiter)
  • Login per Tastendruck, Benutzername und Passwort kennt Redox noch nicht. (Bild: Christoph Reiter)
  • Endlich in der ersten Shell, ab jetzt kann die Erkundungstour beginnen. (Bild: Christoph Reiter)
  • Die Auswahl an Befehlen ist noch übersichtlich. (Bild: Christoph Reiter)
  • Diese Tetris-Runde fand ein kreatives Ende. (Bild: Christoph Reiter)
  • Programmieren wie im Film - H4xx3r machts möglich. (Bild: Christoph Reiter)
  • Orbital in vollem Einsatz: auch Grafik kann Redox OS schon. (Bild: Christoph Reiter)

Bei deutschem Tastaturlayout verhält sich die Auflösungsauswahl anfangs widerspenstig. (Bild: Christoph Reiter)

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.

Read more on: Source

Kommentare sind deaktiviert