După aproape doi ani de dezvoltare, a fost publicată versiunea 0.9 a sistemului de operare Redox, dezvoltat folosind limbajul Rust și conceptul de microkernel. Proiectul este distribuit sub licența liberă MIT. Pentru testarea Redox OS, sunt disponibile medii live de boot pentru hardware real și imagini de sistem pentru mașini virtuale (512 MB și 1.5 GB), pregătite pentru arhitecturile x86_64 și i686.
Imaginea demonstrativă include emulatorul DOSBox, o selecție de jocuri (DOOM, Neverball, Neverputt, sopwith, syobonaction), programe educaționale, un redactor muzical rodioplay cu suport pentru formatele FLAC și WAV, browserul web Netsurf, un vizualizator de imagini, un editor de text în consolă Sodium, un manager de fișiere, un emulator de terminal și un editor de text din proiectul COSMIC. Mediul utilizatorului este construit pe baza propriului interfață grafică Orbital și toolkit-ul OrbTk, care oferă un API similar cu Flutter, React și Redux. Există suport pentru bibliotecile GUI Slint, Iced și winit.

Sistemul de operare se dezvoltă conform filosofiei Unix și împrumută unele idei din SeL4, Minix și Plan 9. Redox utilizează conceptul de microkernel, în care la nivelul nucleului se asigură doar interacțiunea între procese și gestionarea resurselor, iar toate celelalte funcționalități sunt externalizate în biblioteci care pot fi utilizate atât de nucleu, cât și de aplicațiile utilizatorului. Toate driverele rulează în spațiul utilizatorului în medii sandbox izolate. Pentru compatibilitatea cu aplicațiile existente, este oferită o interfață POSIX specială care permite rularea multor programe fără portare.
Proiectul dezvoltă un manager de pachete propriu, un set de utilitare standard (binutils, coreutils, netutils, extrautils), un shell de comandă ion, biblioteca standard C relibc, un editor de text de tip vim numit sodium, un stack de rețea și un sistem de fișiere. Configurarea se face în limbajul Toml.
Printre echipamentele acceptate se numără dispozitivele de intrare cu interfață USB (tastaturi, șoareci, touchpad-uri), ieșirea grafică prin API VESA BIOS sau UEFI GOP (driverele pentru GPU nu sunt suportate), cipuri audio AC’97 și Intel HD Audio, SATA (AHCI, IDE) și NVMe. Suportul pentru Wi-Fi și dispozitive de stocare cu interfață USB nu este încă complet. Lucrul cu medii grafice a fost testat pe laptopurile Lenovo IdeaPad Y510P, System76 Galago Pro și System76 Lemur Pro. Suportul pentru laptopurile Dell XPS 13, HP Dev One, ASUS X554L, ASUS ROG g55vw, Toshiba Satellite L500 și ASUS Eee PC 900 este completat de anumite limitări. Printre sistemele ARM este acceptat Raspberry Pi 3 Model B+.
Modificări principale:
- Capabilitățile legate de gestionarea proceselor, firelor de execuție, memorie și semnale au fost semnificativ extinse, ceea ce a dus la îmbunătățirea funcționării multor aplicații. De exemplu, sistemul a atins un nivel care permite compilarea programelor simple cu compilatoarele GCC și Rust, deși suportul pentru autoîngrijire nu a fost încă atins.
- Din mediul utilizator COSMIC în Redox au fost transferate managerul de fișiere, editorul de text și emulatorul de terminal, toate funcționând în mod grafic.
- Portabilitatea cu aplicațiile din sisteme Linux și BSD a fost îmbunătățită. Numărul total de porturi de aplicații a fost adus la aproximativ 1700. Printre realizările semnificative se numără portarea serverului HTTP Apache, Serverului HTTP Simplu, RustPython, GNU Make, Lua, Perl 5, editorilor de text GNU Nano și Helix.
- Au fost implementate diverse optimizări de performanță și au fost corectate multe probleme care afectau stabilitatea sistemului. Performanța sistemului de fișiere RedoxFS, a sistemului de gestionare a memoriei, a apelurilor de sistem și a schimbării contextului a fost îmbunătățită. Lucrul a fost semnificativ accelerat în virtuálne mašini.
- Modul de afișare serverul În Orbital a fost adăugată suportul pentru bibliotecile GUI Slint, Iced și winit. Prin winit, Orbital permite decorarea ferestrelor pe partea clientului, crearea ferestrelor ascunse, și maximizarea ferestrelor pe tot ecranul. A fost adăugată posibilitatea de a reda muzică și video din programele GUI prin dublu clic pe mouse. A fost îmbunătățită aspectul mediului desktop Orbital.

- În loc de adresarea prin URL (de exemplu, pentru a scrie în log se putea folosi URL-ul 'log://', iar pentru interacțiunea de rețea 'tcp://') a fost utilizat formatul tradițional pentru sistemele Unix al căilor de fișiere, ceea ce a avut un impact pozitiv asupra compatibilității cu programele și bibliotecile POSIX/Linux.
- Implementarea standardului bibliotecii C, Relibc, a fost îmbunătățită, iar acum, pe lângă libm, este complet scrisă în Rust. Suportul pentru funcțiile POSIX a fost extins. A fost propusă o inițiativă de a oferi un ABI stabil pentru spațiul utilizatorului. Toate componentele de sistem au fost migrate de la redox_syscall la libredox.
- Performanța încărcătorului pentru UEFI a fost îmbunătățită.
- Suportul pentru arhitectura ARM64 (Aarch64) a fost semnificativ îmbunătățit, iar compatibilitatea parțială cu placa Raspberry Pi 3B+ a fost asigurată.
- Funcționalitatea driverului Contain pentru execuția izolată a aplicațiilor a fost extinsă. A fost adăugată o demonstrație de utilizare a driverului Contain (desktop-contain.toml).
- Driverele pentru PCI și PCIe au fost îmbunătățite. Driverele VirtIO au fost adăugate.
- Funcționalitatea sistemului de construcție a fost extinsă.

Sursa: opennet.ro

