Die Veröffentlichung des Betriebssystems Redox OS 0.9, geschrieben in der Programmiersprache Rust

Nach fast zwei Jahren Entwicklung wurde die Version 0.9 des Betriebssystems Redox veröffentlicht, das unter Verwendung der Programmiersprache Rust und dem Konzept eines Mikro-Kernels entwickelt wurde. Die Ergebnisse des Projekts werden unter der MIT-Lizenz verbreitet. Für die Tests von Redox OS stehen bootfähige Live-Umgebungen für echte Hardware sowie Systembilder für virtuelle Maschinen (512 MB und 1,5 GB) zur Verfügung, die für die Architekturen x86_64 und i686 vorbereitet wurden.

Das Demobild enthält den Emulator DOSBox, eine Sammlung von Spielen (DOOM, Neverball, Neverputt, sopwith, syobonaction), Lernprogramme, den Musikplayer rodioplay mit Unterstützung für die Formate FLAC und WAV, den Webbrowser Netsurf, einen Bildbetrachter, den Konsolen-Texteditor Sodium, einen Dateimanager, einen Terminalemulator und den Texteditor des Projekts COSMIC. Die Benutzeroberfläche basiert auf der eigenen grafischen Shell Orbital und dem Toolkit OrbTk, das eine ähnliche API wie Flutter, React und Redux bereitstellt. Es gibt Unterstützung für die GUI-Bibliotheken Slint, Iced und winit.

Die Veröffentlichung des Betriebssystems Redox OS 0.9, geschrieben in der Programmiersprache Rust

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.

Das Projekt entwickelt einen eigenen Paketmanager, eine Sammlung von Standard-Dienstprogrammen (binutils, coreutils, netutils, extrautils), die Kommandozeile ion, die Standard-C-Bibliothek relibc, einen vim-ähnlichen Texteditor sodium, den Netzwerkstack und das Dateisystem. Die Konfiguration wird in der Sprache Toml festgelegt.

Unter der unterstützten Hardware sind Eingabegeräte mit USB-Schnittstelle (Tastaturen, Mäuse, Touchpads), grafische Ausgabe über die VESA BIOS oder UEFI GOP API (GPU-Treiber werden nicht unterstützt), AC’97- und Intel HD Audio-Soundchips, SATA (AHCI, IDE) und NVMe aufgeführt. Die Unterstützung für Wi-Fi und Speichersysteme mit USB-Schnittstelle ist noch nicht bereit. Die Arbeit mit grauen Umgebungen wurde auf den Laptops Lenovo IdeaPad Y510P, System76 Galago Pro und System76 Lemur Pro getestet. Mit gewissen Einschränkungen wird die Unterstützung für Dell XPS 13, HP Dev One, ASUS X554L, ASUS ROG g55vw, Toshiba Satellite L500 und ASUS Eee PC 900 gewährleistet. Von ARM-Systemen wird Raspberry Pi 3 Model B+ unterstützt.

Hauptänderungen:

  • Die Möglichkeiten im Bereich Prozess-, Thread-, Speicher- und Signalmanagement wurden erheblich erweitert, was die Leistung vieler Anwendungen verbessert hat. So hat das System ein Niveau erreicht, das es ermöglicht, einfache Programme mit den Compilern GCC und Rust zu erstellen, während die Unterstützung für Selbstkompilierung noch nicht erreicht wurde.
  • Der Dateimanager, der Texteditor und der Terminalemulator aus der Benutzeroberfläche COSMIC wurden nach Redox übertragen und funktionieren im Grafikmodus.
  • Die Portabilität zu Programmen aus Linux- und BSD-Systemen wurde verbessert. Die Gesamtanzahl der Anwendungsports beträgt nun etwa 1700. Zu den bedeutenden Erfolgen gehört die Portierung des HTTP-Servers Apache, des Simple HTTP Servers, RustPython, GNU Make, Lua, Perl 5 sowie der Texteditoren GNU Nano und Helix.
  • Verschiedene Leistungsoptimierungen wurden vorgenommen und viele Probleme, die die Stabilität beeinträchtigten, wurden behoben. Die Leistung des RedoxFS-Dateisystems, der Speicherverwaltung, der Systemaufrufe und des Kontextwechsels wurde erheblich verbessert. Die Leistung in virtuellen Maschinen.
  • der Anzeige Server Orbital wurde um die Unterstützung der GUI-Bibliotheken Slint, Iced und winit erweitert. Über winit wurde in Orbital die Möglichkeit implementiert, Fenster clientseitig zu dekorieren, versteckte Fenster zu erstellen und Fenster im Vollbildmodus anzuzeigen. Es wurde die Möglichkeit hinzugefügt, Musik und Videos aus GUI-Programmen durch einen Doppelklick zu reproduzieren. Das Design der Desktop-Umgebung Orbital wurde verbessert.
    Die Veröffentlichung des Betriebssystems Redox OS 0.9, geschrieben in der Programmiersprache Rust
  • Anstelle der Adressierung über die URL (zum Beispiel konnte für die Protokollierung die URL „log://“ verwendet werden, während für die Netzwerkinteraktion „tcp://“ zum Einsatz kam) wurde das traditionelle Dateipfadformat für Unix-Systeme eingeführt, was sich positiv auf die Kompatibilität mit POSIX/Linux-Programmen und -Bibliotheken ausgewirkt hat.
  • Die Implementierung der Standard C-Bibliothek Relibc wurde überarbeitet, die jetzt vollständig in Rust geschrieben ist, einschließlich libm. Die Unterstützung für POSIX-Funktionen wurde erweitert. Initiativen zur Bereitstellung einer stabilen ABI für den Benutzerspeicherraum wurden vorgeschlagen. Alle Systemkomponenten wurden von redox_syscall auf libredox umgestellt.
  • Die Leistung des Bootloaders für UEFI wurde verbessert.
  • Die Unterstützung für die Architektur ARM64 (Aarch64) wurde erheblich verbessert und teilweise mit dem Raspberry Pi 3B+ kompatibel gemacht.
  • Die Möglichkeiten des Contain-Treibers für die isolierte Ausführung von Anwendungen wurden erweitert. Eine Demo zur Nutzung des Contain-Treibers (desktop-contain.toml) wurde hinzugefügt.
  • Die Treiber für PCI und PCIe wurden verbessert. VirtIO-Treiber wurden hinzugefügt.
  • Die Möglichkeiten des Build-Systems wurden erweitert.

Video abspielen


Quelle: opennet.ru
60GB SSD 8Gb DDR4