Die Entwickler des Redox-Betriebssystems, das in der Programmiersprache Rust und nach dem Mikrokernel-Konzept geschrieben wurde, veröffentlichten einen Entwicklungsbericht für Mai. Zu den Errungenschaften gehört die erfolgreiche Portierung der Desktop-Umgebung Xfce. Die Arbeit von Xfce in Redox wird als stabiler angesehen als die zuvor erstellte Portierung mit dem Desktop MATE, bei der noch ungelöste Probleme mit dem Dateimanager Caja bestehen.

Für Redox wurde ebenfalls ein neuer Task-Scheduler implementiert, der den Algorithmus EEVDF (Earliest Eligible Virtual Deadline First) verwendet. Der neue Scheduler berücksichtigt bei der Auswahl des nächsten Prozesses zur Ausführung die Prozesse, die nicht genügend CPU-Ressourcen erhalten haben oder zu viel CPU-Zeit erhalten haben. Im ersten Fall wird die Übergabe der Kontrolle an den Prozess erzwungen, im zweiten Fall hingegen verzögert.
Die Arbeiten zur Verbesserung der Kompatibilität mit der POSIX-Standard-C-Bibliothek relibc, die in Rust geschrieben ist, wurden fortgesetzt. Der Treiber für Pseudoterminals wurde verbessert. Teilweise Unterstützung für die Einschränkung von Ressourcen mithilfe des Mechanismus rlimit wurde hinzugefügt.
Die Leistung der Operationen poll und epoll wurde erheblich gesteigert (bis zu 4 Mal während Tests in QEMU). Es wurde ein Caching von Inodes implementiert, wodurch die Zeit für die Testkompilierung in GCC von 2411 auf 670 ms verkürzt wurde. Es wurde eine inkrementelle Kompilierung von Änderungen in Paketen implementiert.
Aus der Desktop-Umgebung COSMIC wurde die grafische Benutzeroberfläche zur Überwachung des Systemzustands portiert. Die Möglichkeit zur Anpassung der Schriftarten im Terminalemulator wurde hinzugefügt. CPython 3.15 und libdrm wurden portiert.

Das Redox-Betriebssystem entwickelt sich gemäß der Unix-Philosophie und übernimmt einige Ideen von SeL4, Minix und Plan 9. Redox verwendet das Mikrokernel-Konzept, bei dem auf der Kernel-Ebene lediglich die Interaktion zwischen Prozessen und die Ressourcenverwaltung sichergestellt wird, während alle anderen Funktionalitäten in Bibliotheken ausgelagert sind, die sowohl vom Kernel als auch von Benutzeranwendungen verwendet werden können. Alle Treiber laufen im Benutzerspeicher in isolierten Sandbox-Umgebungen.
Das Projekt entwickelt einen eigenen Paketmanager, eine Reihe von Standard-Utilities (binutils, coreutils, netutils, extrautils), die Shell ion, die Standard-C-Bibliothek relibc, einen vim-ähnlichen Texteditor namens sodium, einen Netzwerkstack und ein Dateisystem. Die Konfiguration wird in Toml-Sprache angegeben. Um die Kompatibilität mit bestehenden Anwendungen zu gewährleisten, wird eine POSIX-Schicht bereitgestellt, die es ermöglicht, viele Programme ohne Portierung auszuführen.
Redox kann getestet werden, indem man täglich aktualisierte Builds für virtuelle Maschinen und echte Hardware (aarch64, i586, i686, riscv64gc, x86_64) verwendet. Unterstützte Geräte sind unter anderem USB-Geräte, AC’97- und Intel HD Audio-Chips, sowie USB, SATA (AHCI, IDE) und NVMe.
Für die grafische Ausgabe können die APIs VESA BIOS, UEFI GOP oder der Treiber für die Intel GPU verwendet werden. Die Unterstützung für Wi-Fi und Bluetooth ist derzeit noch nicht verfügbar.
Quelle: opennet.ru
