De release van het besturingssysteem Redox 0.8 is gepubliceerd, ontwikkeld met de programmeertaal Rust en het microkernelconcept. De projectontwikkelingen worden verspreid onder de MIT-licentie. Voor het testen van Redox OS zijn er demo-builds van 768 MB beschikbaar, evenals afbeeldingen met een basis grafische omgeving (256 MB) en consoletools voor serversystemen (256 MB). De builds zijn gemaakt voor de x86_64-architectuur en zijn beschikbaar voor systemen met UEFI en BIOS. De demobeeld bevat naast de grafische omgeving Orbital ook de emulator DOSBox, een selectie van games (DOOM, Neverball, Neverputt, sopwith, syobonaction), educatieve programma's, de muziekspeler rodioplay en de teksteditor Sodium.
Het besturingssysteem ontwikkelt zich volgens de Unix-filosofie en leent enkele ideeën van SeL4, Minix en Plan 9. Redox gebruikt het microkernel-concept, waarbij op het niveau van de kernel alleen interactie tussen processen en resourcebeheer wordt verzorgd, terwijl alle andere functionaliteit wordt ondergebracht in bibliotheken die zowel door de kernel als door gebruikersapplicaties kunnen worden gebruikt. Alle stuurprogramma's worden uitgevoerd in de gebruikersruimte in geïsoleerde sandbox-omgevingen. Voor compatibiliteit met bestaande applicaties is er een speciale POSIX-laag die het mogelijk maakt om veel programma's zonder portering uit te voeren.
In het systeem wordt het principe 'alles is een URL' toegepast. Bijvoorbeeld, voor logging kan de URL 'log://' worden gebruikt, voor communicatie tussen processen 'bus://' en voor netwerkinteractie 'tcp://', enzovoort. Modules die geĆÆmplementeerd kunnen worden als stuurprogramma's, kerneluitbreidingen en gebruikersapplicaties, kunnen hun eigen URL-handlers registreren; zo kan er bijvoorbeeld een module voor toegang tot in- en uitvoerpoorten worden geschreven en aan de URL 'port_io://' worden gekoppeld, waarna deze gebruikt kan worden om toegang te krijgen tot poort 60 via de URL 'port_io://60'.
De gebruikersomgeving in Redox is gebaseerd op de eigen grafische shell Orbital (niet te verwarren met een andere Orbital-shell die Qt en Wayland gebruikt) en de toolkits OrbTk, die een API biedt vergelijkbaar met Flutter, React en Redux. Netsurf wordt gebruikt als webbrowser. Het project ontwikkelt ook een eigen pakketbeheerder, een set standaard utilities (binutils, coreutils, netutils, extrautils), de commandoregelinterface ion, de standaard C-bibliotheek relibc, een Vim-achtige teksteditor sodium, een netstack en een bestandssysteem. De configuratie wordt gedefinieerd in de Toml-taal.
In de nieuwe uitgave is het werk aan de werking op echte hardware voortgezet. Naast de x86_64-architectuur is de mogelijkheid toegevoegd om op 32-bits systemen x86 (i686, Pentium II en later) te werken. Er wordt gewerkt aan de porting naar CPU ARM64 (aarch64). De werking op echte ARM-hardware wordt nog niet ondersteund, maar het is mogelijk om op te starten bij emulatie van ARM64 in QEMU. Als standaard is de geluidscomponent geactiveerd en is er basissteun voor multi-monitorconfiguraties (op systemen met UEFI-framebuffer). Van de hardware die wordt ondersteund in Redox OS zijn de geluidschips ACā97 en Intel HD Audio genoemd, grafische uitvoer via de VESA BIOS of UEFI GOP API, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), invoerapparaten (toetsenborden, muizen, touchpads), SATA (AHCI, IDE) en NVMe. Ondersteuning voor Wi-Fi en USB is nog niet gereed (USB werkt alleen in QEMU).
Andere vernieuwingen:
- De opstartimages voor systemen met BIOS en EFI zijn samengevoegd.
- De implementatie van de systeemoproepen clone en exec is naar de gebruikersruimte verplaatst.
- Het opstartproces is vereenvoudigd. Een bootstrap-programma is geĆÆntroduceerd dat door de kernel wordt uitgevoerd en de verdere opstart van ELF-bestanden, zoals het init-proces, verzorgt.
- Er is een programma escalated toegevoegd om de werking van setuid-programma's, zoals sudo, te waarborgen.
- Om het creƫren en installeren van achtergrondprocessen te vereenvoudigen, is er een crate-pakket redox-daemon voorgesteld.
- Het build-systeem is herontworpen, waarbij de mogelijkheid is toegevoegd om voor verschillende architecturen in ƩƩn boom van broncode te bouwen. Voor het vereenvoudigen van de bouw van verschillende configuraties is er een build.sh-script voorgesteld. Ondersteuning is toegevoegd voor bouwen met het podman-gereedschap. De bouw van de kernel, bootloader en initfs is genormaliseerd met andere pakketten.
- Er is een demonstratieconfiguratie toegevoegd voor het bouwen van voorbeeldprogramma's die niet zijn opgenomen in het basisopstartimage met grafische omgeving.
- In de audiod-geluidssubsystem is ondersteuning voor softwarematige volumeregeling toegevoegd.
- Er is een driver toegevoegd voor geluidschips op basis van ACā97. De driver voor Intel HD Audio-chips is verbeterd.
- Er is een driver voor IDE-controllers toegevoegd.
- De ondersteuning voor NVMe-opslag is verbeterd.
- De drivers voor PCI, PS/2, RTL8168, USB HID en VESA zijn verbeterd.
- De organisatie van het installatieproces is herwerkt: de bootloader, bootstrap, kernel en initfs worden nu in de map /boot geplaatst.
- In de kernel is de werking met geheugen vereenvoudigd, en is de mogelijkheid tot manipulatie van adresruimten vanuit de gebruikerslaag toegevoegd.
- In de grafische interface van O rbital is de ondersteuning voor multi-monitor systemen toegevoegd, is de muiscursorverwerking verbeterd en is er een indicator voor volumeverandering toegevoegd. In het menu is de mogelijkheid geïmplementeerd om applicaties op categorieën te splitsen.
Bron: opennet.ru
