Másfél év fejlesztés után megjelent a Redox 0.7 operációs rendszer, amelyet Rust nyelv és mikrokernellalapú koncepciókkal fejlesztettek. A projekt fejlesztései MIT licenc alatt érhetők el. A Redox OS tesztelésére 75 MB méretű telepítő és Live-képek állnak rendelkezésre. A kiadások x86_64 architektúrára készültek, és UEFI és BIOS rendszerekhez is elérhetők.
Az új kiadás előkészítése során a hangsúly a valódi hardverrel való működés biztosítására irányult. Főbb újdonságok:
- Teljesen újraírták a bootloadert, amelyben egységesítették és túlnyomórészt Rust nyelven írták a BIOS és UEFI rendszereken történő indítást. A bootloader változása lehetővé tette a támogatott hardverek körének jelentős bővítését.
- A kernelben a hibajavítások mellett a teljesítmény növelésére és a hardver támogatásának bővítésére is figyelmet fordítottak. A CPU-specifikus változók átálltak a GS regiszter használatára. A fizikai memória teljes visszatérülését (térképezés) biztosították, a rekurzív memóriaoldalak használatát leállították. Az inline beillesztésekben lévő assembler kódot átírták, hogy jobban kompatibilis legyen a jövőbeli fordítók verzióival.
- Kezdő támogatást kaptak az AArch64 architektúrához.
- Minden fájlelérési útvonal UTF-8 kódolásban való feldolgozására váltottak.
- Az ACPI AML (ACPI Machine Language) Specification-hoz szükséges kódot — uefi.org — a kernelből a felhasználói térben futó acpid háttérfolyamatba helyezték át.
- Az Initfs tartalmát egy új fájlba helyezték át, ami egyszerűbbé tette a csomagok előállítását.
- A RedoxFS fájlrendszer újraírásra került, és a CoW (Copy-on-Write) mechanizmus használatára állt át, mely révén a módosítások nem írják felül az információkat, hanem új helyre kerülnek, ezáltal jelentős megbízhatóságnövelést eredményezett. Az új RedoxFS képességek közé tartozik a tranzakciós frissítések támogatása, az AES algoritmus használatával történő adatvédelmi titkosítás, valamint az adatok és metadatok digitális aláírásokkal való hitelesítése. Biztosították a fájlrendszer kódjának közös használatát a rendszerben és a bootloaderben.
- Folyamatosan fejlesztették a Relibc szabványos C könyvtárat, amely nemcsak a Redoxban, hanem Linux kernel alapú disztribúciókban is működik. A végrehajtott módosítások egyszerűsítették a különböző programok Redox-ba történő átvitelét, és megoldották a több C nyelven írt program és könyvtár problémáit.
- Elkészült a rustc fordító Redox alatt történő futtatására alkalmas verziója. A hátralévő feladatok között szerepel a teljesítmény optimalizálása és a cargo csomagkezelő Redox környezetben való működésre való adaptálása.

Az operációs rendszer a Unix filozófiája szerint fejlődik, és néhány ötletet kölcsönöz a SeL4, Minix és Plan 9 rendszerektől. A Redox mikrokernel koncepciót használ, amelynél a kernel szintjén csak a folyamatok közötti kommunikáció és az erőforrások kezelése biztosított, míg a többi funkció könyvtárakba van kihelyezve, amelyeket a kernel és a felhasználói alkalmazások is igénybe vehetnek. Minden illesztőprogram a felhasználói térben, izolált sandbox környezetekben fut. A meglévő alkalmazásokkal való kompatibilitás érdekében egy speciális POSIX réteg áll rendelkezésre, amely lehetővé teszi számos program portolás nélküli futtatását.
A rendszerben az „minden URL” elv érvényesül. Például a naplózás céljából a „log://” URL használható, folyamatok közötti kommunikációra a „bus://”, hálózati kapcsolatra pedig a „tcp://” és így tovább. Azok a modulok, amelyek illesztőprogramok, kernel kiterjesztések és felhasználói alkalmazások formájában valósíthatók meg, regisztrálhatják saját URL kezelőiket; például írhatsz egy modult a bemeneti/kimeneti portokhoz, és összekapcsolhatod a „port_io://” URL-el, így 60-as port elérésére megnyithatod a „port_io://60” URL-t.
A Redox rendszer felhasználói környezete a saját Orbital grafikus felületén alapul (ne keverjük össze a Qt és Wayland alapú Orbital felülettel) és az OrbTk toolkit-en, amely API-t biztosít, hasonlóan a Flutter, React és Redux rendszerhez. A Netsurf használatos web böngészőként. A projekt saját csomagkezelőjének fejlesztése is folyamatban van, valamint egy standard utility csomag (binutils, coreutils, netutils, extrautils), ion parancssor, standard C könyvtár relibc, vim-szerű szövegszerkesztő sodium, hálózati verem és fájlrendszer. A konfiguráció Toml nyelven történik.
Forrás: opennet.ru
