Veröffentlichung des Betriebssystems Redox OS 0.7, das in der Programmiersprache Rust geschrieben ist.

Nach anderthalb Jahren Entwicklung wurde die Version 0.7 des Betriebssystems Redox veröffentlicht, das mit der Programmiersprache Rust und dem Mikro-Kernel-Konzept entwickelt wurde. Die Fortschritte des Projekts werden unter der MIT-Lizenz veröffentlicht. Zum Testen von Redox OS stehen Installations- und Live-Images mit einer Größe von 75 MB zur Verfügung. Die Builds sind für die Architektur x86_64 erstellt und für Systeme mit UEFI und BIOS verfügbar.

Bei der Vorbereitung der neuen Version wurde besonderes Augenmerk auf die Funktionalität auf echter Hardware gelegt. Die wichtigsten Neuerungen sind:

  • Der Bootloader wurde vollständig neu geschrieben, wobei der Code für den Bootvorgang auf Systemen mit BIOS und UEFI vereinheitlicht und überwiegend in Rust verfasst wurde. Die Änderungen am Bootloader haben die unterstützte Hardware erheblich erweitert.
  • Im Kernel wurden neben Fehlerbehebungen auch Leistungsverbesserungen und die Unterstützung neuer Hardware vorgenommen. CPU-spezifische Variablen wurden auf die Verwendung des Registers GS umgestellt. Es wurde ein Mapping des gesamten physischen Speichers realisiert, und die Verwendung rekursiver Speicherseiten wurde eingestellt. Der Assemblercode in Inline-Einfügungen wurde für eine bessere Kompatibilität mit zukünftigen Versionen des Compilers neu geschrieben.
  • Erste Unterstützung für die Architektur AArch64 wurde hinzugefügt.
  • Der Übergang zur Verarbeitung aller Dateipfade im UTF-8-Format wurde vollzogen.
  • Der Code für die Arbeit mit der ACPI AML (ACPI Machine Language) Specification — uefi.org wurde vom Kernel in den Hintergrundprozess acpid, der im Benutzerspeicher ausgeführt wird, verlagert.
  • Der Inhalt von Initfs wurde in eine neue Datei verschoben, was die Paketbildung erleichtert hat.
  • Das Dateisystem RedoxFS wurde neu geschrieben und auf die Verwendung des CoW (Copy-on-Write)-Mechanismus umgestellt, bei dem Änderungen nicht die Informationen überschreiben, sondern an einem neuen Ort gespeichert werden, was die Zuverlässigkeit erheblich erhöht hat. Zu den neuen Funktionen von RedoxFS gehören die Unterstützung von Transaktionsaktualisierungen, die Datenverschlüsselung mit dem AES-Algorithmus sowie die digitale Signatur von Daten und Metadaten. Die gemeinsame Nutzung des FS-Codes im System und im Bootloader wurde sichergestellt.
  • Die Weiterentwicklung der im Projekt entwickelten Standard-C-Bibliothek Relibc wurde fortgesetzt, die nicht nur in Redox, sondern auch in Distributionen, die auf dem Linux-Kernel basieren, arbeiten kann. Die vorgenommenen Änderungen erleichterten die Portierung verschiedener Programme auf Redox und lösten Probleme mit vielen Programmen und Bibliotheken, die in der Programmiersprache C geschrieben wurden.
  • Eine Version des Compilers rustc wurde vorbereitet, die in Redox ausgeführt werden kann. Zu den verbleibenden Aufgaben gehören die Performance-Optimierung und die Anpassung des Paketmanagers cargo für den Betrieb in der Redox-Umgebung.

Veröffentlichung des Betriebssystems Redox OS 0.7, das in der Programmiersprache Rust geschrieben ist.

Das Betriebssystem entwickelt sich in Übereinstimmung mit der Unix-Philosophie und leiht einige Ideen von SeL4, Minix und Plan 9. Redox nutzt das Konzept des Mikro-Kernels, bei dem auf Kernel-Ebene nur die Interprozesskommunikation und das Ressourcenmanagement gewährleistet sind, während alle anderen Funktionalitäten in Bibliotheken ausgelagert werden, die sowohl vom Kernel als auch von Benutzeranwendungen verwendet werden können. Alle Treiber werden im Benutzerspeicher in isolierten Sandbox-Umgebungen ausgeführt. Zur Kompatibilität mit bestehenden Anwendungen wird eine spezielle POSIX-Schicht bereitgestellt, die es ermöglicht, viele Programme ohne Portierung auszuführen.

Im System gilt das Prinzip „alles ist eine URL“. Zum Beispiel kann für das Protokollieren die URL „log://“ verwendet werden, für die Interprozesskommunikation „bus://“, für die Netzwerkkommunikation „tcp://“ usw. Module, die in Form von Treibern, Kernel-Erweiterungen und Benutzeranwendungen implementiert werden können, können ihre URL-Handler registrieren. Man kann beispielsweise ein Modul für den Zugriff auf Ein-/Ausgabe-Ports schreiben und es an die URL „port_io://“ binden, nachdem es möglich ist, auf Port 60 zuzugreifen, indem man die URL „port_io://60“ öffnet.

Die Benutzerumgebung in Redox basiert auf der eigenen grafischen Shell Orbital (nicht zu verwechseln mit einer anderen Orbital-Shell, die Qt und Wayland verwendet) und dem Toolkit OrbTk, das eine API ähnlich wie Flutter, React und Redux bereitstellt. Als Webbrowser wird Netsurf verwendet. Das Projekt entwickelt auch einen eigenen Paketmanager, eine Sammlung von Standard-Dienstprogrammen (binutils, coreutils, netutils, extrautils), die Kommandozeile ion, die Standard-C-Bibliothek relibc, den vim-ähnlichen Texteditor sodium, den Netzwerkstapel und das Dateisystem. Die Konfiguration erfolgt in der Sprache Toml.

Quelle: opennet.ru

60GB SSD 8Gb DDR4