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.

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.

- 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.

Quelle: opennet.ru

