Die Veröffentlichung des Betriebssystems Redox OS 0.8, das in Rust geschrieben ist.

Die Version 0.8 des Betriebssystems Redox wurde veröffentlicht, das mit der Programmiersprache Rust und dem Konzept eines Mikrokernels entwickelt wurde. Die Fortschritte des Projekts werden unter der MIT-Lizenz verbreitet. Für das Testen von Redox OS werden Demonstrations-Images von 768 MB sowie Images mit einer grundlegenden grafischen Umgebung (256 MB) und einer Konsolensoftware für Serversysteme (256 MB) angeboten. Die Builds sind für die Architektur x86_64 erstellt und für Systeme mit UEFI und BIOS verfügbar. Das Demobild enthält neben der grafischen Umgebung Orbital auch den Emulator DOSBox, eine Sammlung von Spielen (DOOM, Neverball, Neverputt, sopwith, syobonaction), Schulungsprogramme, den Musikplayer rodioplay und den Texteditor Sodium.

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.

In der neuen Ausgabe wird die Arbeit an der Nutzung von realer Hardware fortgesetzt. Neben der x86_64-Architektur wurde die Möglichkeit hinzugefügt, auf 32-Bit-Systemen x86 (i686, Pentium II und neuer) zu arbeiten. Es wird an einer Portierung auf ARM64 (aarch64) gearbeitet. Die Nutzung echter ARM-Hardware wird derzeit nicht unterstützt, aber ein Start ist bei der Emulation von ARM64 in QEMU möglich. Standardmäßig ist das Sound-Subsystem aktiviert und es wird eine grundlegende Unterstützung für Multi-Monitor-Konfigurationen (auf Systemen mit UEFI-Framebuffer) bereitgestellt. Die in Redox OS unterstützte Hardware umfasst die Sound-Chips AC’97 und Intel HD Audio, die Grafikausgabe über die VESA BIOS oder UEFI GOP API, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), Eingabegeräte (Tastaturen, Mäuse, Touchpads), SATA (AHCI, IDE) und NVMe. Die Unterstützung für Wi-Fi und USB ist derzeit noch nicht ausgereift (USB funktioniert nur in QEMU).

Weitere Neuerungen:

  • Boot-Images für Systeme mit BIOS und EFI wurden zusammengeführt.
  • Die Implementierung der Systemaufrufe clone und exec wurde in den Benutzermodus verlagert.
  • Der Bootprozess wurde vereinfacht. Ein Bootstrapping-Programm, das vom Kernel gestartet wird, wurde implementiert, um die weitere Ladung von ELF-Dateien wie dem Init-Prozess sicherzustellen.
  • Das Programm escalated wurde hinzugefügt, um die Ausführung von setuid-Programmen wie sudo zu unterstützen.
  • Um die Erstellung und Installation von Hintergrundprozessen zu vereinfachen, wurde das crate-Paket redox-daemon angeboten.
  • Das Build-System wurde überarbeitet, um das Erstellen für verschiedene Architekturen in einem einzigen Quelltextbaum zu ermöglichen. Zur Vereinfachung des Builds verschiedener Konfigurationen wurde das Skript build.sh vorgeschlagen. Die Unterstützung des Builds mit dem Werkzeug podman wurde hinzugefügt. Der Build des Kernels, des Bootloaders und des initfs wurde mit anderen Paketen vereinheitlicht.
  • Eine Demo-Konfiguration zur Erstellung von Beispielprogrammen, die nicht im grundlegenden Boot-Image mit grafischer Oberfläche enthalten sind, wurde hinzugefügt.
  • Das Sound-Subsystem audiod erhielt Unterstützung für die Softwaresteuerung der Lautstärke.
  • Ein Treiber für Soundchips auf Basis von AC’97 wurde hinzugefügt. Der Treiber für Intel HD Audio wurde verbessert.
  • Ein Treiber für IDE-Controller wurde hinzugefügt.
  • Die Unterstützung für NVMe-Speicher wurde verbessert.
  • Die Treiber für PCI, PS/2, RTL8168, USB HID, VESA wurden verbessert.
  • Die Organisation des Installationsprozesses wurde überarbeitet: Bootloader, Bootstrap, Kernel und initfs werden jetzt im Verzeichnis /boot platziert.
  • Im Kernel wurde die Arbeit mit dem Speicher vereinfacht, und es wurde die Möglichkeit hinzugefügt, von Benutzerebene mit Adressräumen zu interagieren.
  • In der grafischen Benutzeroberfläche von OOrbital wurde die Unterstützung für Multimonitorsysteme hinzugefügt, die Verarbeitung des Mauszeigers verbessert und ein Indikator zur Lautstärkeänderung hinzugefügt. Im Menü wurde die Möglichkeit umgesetzt, Anwendungen nach Kategorien zu trennen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4