Abo
  • Services:
Anzeige
Trotz des jungen Alters verfügt Rust schon über ein GUI.
Trotz des jungen Alters verfügt Rust schon über ein GUI. (Bild: Christoph Reiter)

Feuertaufe von Rust

Zu den vielen Experimenten in Redox gehört auch die Übernahme von Konzepten aus anderen Betriebssystemen. Der aus Anwendersicht wahrscheinlich noch auffälligste Unterschied zu anderen Systemen ist das von Plan 9 übernommene System, alles über das Dateisystem abzubilden. Redox OS erweitert allerdings die Pfade im Dateisystem um sogenannte Schemas, wodurch sie zu einer URL werden. Dies ermöglicht im gesamten System auch nicht dateisystemartige Zugriffe ähnlich wie im Web.

Anzeige

Zum Beispiel bildet die URL file:/home/README.md den Pfad im Dateisystem zur README-Datei von Redox OS ab. Der Redox-OS-Kernel fungiert dabei als zentraler Verwalter der Schemas, jeder Treiber oder jedes Programm, das ein Schema bereitstellen möchte, muss dieses zuerst beim Kernel registrieren, der es dann für alle anderen Programme und Treiber bekanntmacht.

Klein, kleiner, mikro

Im Gegensatz zu Linux, das einen monolithischen Kernel hat, bei dem alle Treiber im Kernel-Modus laufen, setzt Redox OS auf einen Mikrokernel. Bei diesem Kernel-Design laufen nur die wichtigsten Funktionen, wie Speichermanagement, Scheduler und ein Dienst für die Kommunikation zwischen den Prozessen, im Kernel-Modus. Da alle Treiber als normale Prozesse ausgeführt werden, ergibt sich theoretisch eine höhere Stabilität und Sicherheit, weil abgestürzte Gerätetreiber vom Mikrokernel einfach neu gestartet werden können und nur ein minimaler Codeanteil auf den kompletten Speicher Zugriff hat.

In der Praxis hat sich jedoch trotz einiger Versuche mit Minix und GNU Hurd noch kein reiner Mikrokernel durchgesetzt. Ein Grund dafür dürfte die Schwierigkeit sein, einen performanten Mikrokernel zu entwickeln, da dieser prinzipbedingt sehr oft zwischen Kernel-Modus und Benutzermodus wechseln muss. Bei diesem Kontextwechsel müssen alle Register im RAM gesichert und für den neuen Modus wiederhergestellt werden, was auf den meisten Prozessoren zum Leeren der Befehlspipeline führt und somit wertvolle Taktzyklen verbraucht.

Ein (fast) sicheres Betriebssystem

Redox setzt überall auf Rust, vom Kernel über den auch unter Linux nutzbaren Speicher-Allocator Ralloc bis hin zu den Anwendungsprogrammen. Fast alles davon ist in Safe-Rust geschrieben, also dem Teil der Sprache, der einige typische Fehler von C und C++ vermeiden und dadurch sicher sein soll.

Im Kernel und bei der Speicherzuweisung muss jedoch prinzipbedingt des Öfteren auf Unsafe-Rust zurückgegriffen werden. Zum Beispiel lassen sich keine Gerätetreiber für Memory-Mapped-IO-Geräte schreiben, ohne mit Raw-Pointern zu arbeiten, da der Rust Compiler diese Adressen nicht überprüfen kann.

Um den so geschriebenen Unsafe-Code minimal zu halten, wird in Redox OS nach dem Motto "Race to safety" gearbeitet. Das bedeutet, dass nur der minimal mögliche Teil in Unsafe Rust geschrieben und versucht wird, so schnell wie möglich die Kontrolle über Speicherzugriffe an den Compiler zurückzugeben.

Auch bei der Speicherzuweisung wird viel Wert auf Sicherheit und Zuverlässigkeit gelegt, nicht nur in Ralloc selbst, sondern auch für darauf aufbauende Programme. So bietet Ralloc beispielsweise Debug-Optionen, um häufige Fehler in der Speicherverwaltung von Programmen aufzuzeigen wie Double-Free, Speicherlecks oder eine falsche Speicherausrichtung.

Redox wird zum modernen Unix

Aktuell befindet sich Redox OS gerade in einer großen Umbauphase, in der der Kernel neu gestaltet und entwickelt wird. Damit bekommt Redox OS eine Reihe von elementaren neuen Funktionen. Unter anderem wird mit dem neuen Kernel nicht mehr die Shell direkt gestartet, sondern wie bei modernen Unix-Plattformen ein Init-Daemon, der die Initialisierung übernimmt. Außerdem werden mit dem neuen Kernel erstmals Berechtigungen und ein Login-System implementiert.

Ein weiteres sehr interessantes neues Konzept sind sogenannte Bulk Syscalls. Sie werden eingeführt, um den Leistungsnachteil eines Mikrokernels auszugleichen. Mit Hilfe dieser Funktion können mehrere unabhängige Systemaufrufe zu einem Paket zusammengefasst werden. Mit diesem Paket führt der Kernel dann nur einmal einen Kontextwechsel aus statt für jeden Aufruf einzeln und spart somit Rechenzeit sowie das unnötige Leeren der Befehlspipeline ein. Diese Funktion hat vor allem für einen Mikrokernel ein hohes Potenzial, die Leistungsfähigkeit zu erhöhen.

Redox OS ist ganz eindeutig ein Projekt, das noch ganz am Anfang steht. Es zeigt allerdings schon jetzt eindrucksvoll die Möglichkeiten der ebenfalls noch jungen Programmiersprache Rust auf. Denn obwohl Redox OS erst etwas älter als ein Jahr alt ist, wurde bereits alles vom Kernel bis zur grafischen Oberfläche in Rust neu entwickelt. Dass in dieser kurzen Zeit kein komplett neues Betriebssystem entstehen kann, das mit den etablierten Größen wie Linux, Mac OS und Windows mithalten kann, dürfte die wenigsten verwundern. So muss man Redox OS einfach als Demonstration der Programmiersprache Rust und Experiment in der Betriebssystementwicklung sehen, was eigentlich sehr gut gelungen ist.

 Redox OS: Wer nicht rustet, rostet

eye home zur Startseite
skade 13. Dez 2016

Das stimmt so nicht. Das Typsystem verhindert bestimmte Konstrukte, zum Beispiel...

SelfEsteem 13. Dez 2016

Vielen Dank soweit fuer die Infos.

Akaruso 13. Dez 2016

Mir ist dieser Widerspruch auch sofort aufgefallen und musste drüber lachen. Aber mal...

Marentis 10. Dez 2016

Danke, davor ziehe ich den Hut. Kein "wir sind besser", sondern ein klares: "wir...



Anzeige

Stellenmarkt
  1. M&M Software GmbH, St. Georgen, Hannover
  2. Harvey Nash GmbH, Stuttgart
  3. Heinzmann GmbH & Co. KG, Schönau
  4. Faurecia Emissions Control Technologies, Germany GmbH, Augsburg


Anzeige
Hardware-Angebote
  1. 199,99€ statt 479,99€ - Ersparnis rund 58%
  2. (reduzierte Überstände, Restposten & Co.)

Folgen Sie uns
       


  1. MWC Shanghai

    LTE-Technologie erreicht Latenz von unter zwei Millisekunden

  2. Landkreis Plön

    Tele Columbus bringt Gigabit-Zugänge in 15.000 Haushalte

  3. Innovation Days

    Ericsson liefert Basisstation an 5G Lab Germany

  4. Für Lokalsender

    Kabelnetzbetreiber wollen 250 Millionen Euro Rundfunkgebühr

  5. Linux-Kernel-Security

    Torvalds bezeichnet Grsecurity als "Müll"

  6. Zolo Liberty Plus

    Drahtlose Ohrstöpsel auf Kickstarter für nur 100 US-Dollar

  7. Eckpunkte

    Bundesnetzagentur sieht 5G bei 2 GHz und 3.400 bis 3.700 MHz

  8. Internet sofort

    Das Warten auf den Festnetzanschluss kann teuer werden

  9. Ransomware

    Petya-Kampagne nutzt Lücke in Buchhaltungssoftware

  10. 10 GBit/s

    Erste 5G-Endgeräte sind noch einen Kubikmeter groß



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Risk: Kein normaler Mensch
Risk
Kein normaler Mensch

WD Black SSD im Test: Mehr Blau als Schwarz
WD Black SSD im Test
Mehr Blau als Schwarz
  1. NAND-Flash Toshiba legt sich beim Verkauf des Flashspeicher-Fab fest
  2. SSD WD Blue 3D ist sparsamer und kommt mit 2 TByte
  3. Western Digital Mini-SSD in externem Gehäuse schafft 512 MByte pro Sekunde

Amateur-Hörspiele: Drei Fragezeichen, TKKG - und jetzt komm' ich!
Amateur-Hörspiele
Drei Fragezeichen, TKKG - und jetzt komm' ich!
  1. Petya-Ransomware Maersk, Rosneft und die Ukraine mit Ransomware angegriffen
  2. Internet Lädt noch
  3. NetzDG EU-Kommission will Hate-Speech-Gesetz nicht stoppen

  1. Re: und warum hat das so lange gedauert?

    RipClaw | 19:18

  2. Re: Doof?

    lear | 19:18

  3. Re: " ... verfassungsrechtlich bedenklich ... "

    Schrödinger's... | 19:13

  4. Re: Nonchalant? Echt jetzt?

    ckerazor | 19:12

  5. Re: Was jetzt?

    RipClaw | 19:11


  1. 18:23

  2. 17:10

  3. 16:17

  4. 14:54

  5. 14:39

  6. 14:13

  7. 13:22

  8. 12:03


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel