Etter nesten to år med utvikling har utgivelsen av Redox 0.9-operativsystemet, utviklet ved hjelp av Rust-språket og mikrokjernekonseptet, blitt publisert. Prosjektets utviklinger distribueres under den gratis MIT-lisensen. For testing av Redox OS tilbys oppstartbare live-miljøer for ekte utstyr og systembilder for virtuelle maskiner (512 MB og 1.5 GB), forberedt for x86_64- og i686-arkitekturer.
Demobildet inkluderer DOSBox-emulatoren, et utvalg spill (DOOM, Neverball, Neverputt, sopwith, syobonaction), opplæringsprogrammer, rodioplay musikkspiller med støtte for FLAC- og WAV-formater, Netsurf nettleser, bildeviser, Sodium-konsoll tekstredigerer, fil leder, emulatorterminal og tekstredigerer fra COSMIC-prosjektet. Brukermiljøet er bygget på grunnlag av Orbitals eget grafiske skall og OrbTk-verktøysettet, som gir en API som ligner på Flutter, React og Redux. Det er støtte for GUI-bibliotekene Slint, Iced og winit.

Operativsystemet er utviklet i samsvar med Unix-filosofien og låner noen ideer fra SeL4, Minix og Plan 9. Redox bruker konseptet med en mikrokjerne, der kun interaksjon mellom prosesser og ressursstyring er gitt på kjernenivå, og alt annet funksjonalitet er plassert i biblioteker som kan brukes både kjernen og brukerapplikasjoner. Alle drivere kjører i brukerrom i isolerte sandkassemiljøer. For kompatibilitet med eksisterende applikasjoner er det gitt et spesielt POSIX-lag, som lar deg kjøre mange programmer uten portering.
Prosjektet utvikler sin egen pakkebehandling, et sett med standardverktøy (binutils, coreutils, netutils, extrautils), ion-kommandoskallet, standard C-biblioteket relibc, den vim-lignende teksteditoren natrium, en nettverksstabel og et filsystem . Konfigurasjonen er satt på Toml-språket.
Støttet utstyr inkluderer inngangsenheter med USB-grensesnitt (tastaturer, mus, pekeplater), grafikkutgang via VESA BIOS API eller UEFI GOP (GPU-drivere støttes ikke), AC'97 og Intel HD Audio-lydbrikker, SATA (AHCI, IDE ) og NVMe. Støtte for Wi-Fi og USB-lagringsenheter er ennå ikke klar. Arbeid med det grafiske miljøet ble testet på bærbare datamaskiner fra Lenovo IdeaPad Y510P, System76 Galago Pro og System76 Lemur Pro. Med visse begrensninger gis støtte for bærbare datamaskiner fra Dell XPS 13, HP Dev One, ASUS X554L, ASUS ROG g55vw, Toshiba Satellite L500 og ASUS Eee PC 900. Blant ARM-systemer støttes Raspberry Pi 3 Model B+.
Hovedendringer:
- Mulighetene knyttet til prosess-, tråd-, minne- og signalhåndtering har blitt betydelig utvidet, noe som har ført til forbedret ytelse for mange applikasjoner. Systemet har for eksempel nådd et nivå som gjør at enkle programmer kan settes sammen ved hjelp av GCC- og Rust-kompilatorene, men støtte for selvmontering er ennå ikke oppnådd.
- Filbehandleren, tekstredigereren og terminalemulatoren som opererer i grafisk modus er overført fra COSMIC-brukermiljøet til Redox.
- Forbedret portabilitet med programmer fra Linux og BSD-systemer. Det totale antallet applikasjonsporter har økt til omtrent 1700. Blant de viktigste prestasjonene er porteringen av Apache HTTP-serveren, Simple HTTP Server, RustPython, GNU Make, Lua, Perl 5 og teksteditorene GNU Nano og Helix.
- Ulike ytelsesoptimaliseringer er gjort og en rekke stabilitetsproblemer er rettet. Ytelsen til RedoxFS-filsystemet, minnehåndtering, systemkall og kontekstbrytere er forbedret. Betydelig raskere ytelse i virtuelle maskiner.
- I displayet serveren Orbital støtter nå GUI-bibliotekene Slint, Iced og Winit. Ved hjelp av Winit støtter Orbital nå vindusdekorasjon på klientsiden, skjulte vinduer og optimalisering av fullskjermsvinduer. Dobbeltklikk på musikk- og videoavspilling fra GUI-programmer støttes nå. Orbital-skrivebordsmiljøet er forbedret.

- I stedet for å adressere via URL (for eksempel kan URL-en «log://» brukes til å skrive til en logg, og «tcp://» for nettverkskommunikasjon), brukes det tradisjonelle Unix-systemfilstiformatet, noe som har en positiv effekt på kompatibiliteten med POSIX-programmer og -biblioteker.Linux.
- Implementeringen av standard C-biblioteket Relibc er forbedret, som i tillegg til libm nå er fullstendig skrevet i Rust. Støtte for POSIX-funksjoner er utvidet. Det er foreslått tiltak for å gi en stabil ABI for brukerplass. Alle systemkomponenter er overført fra redox_syscall til librodox.
- Forbedret ytelse for bootloader for UEFI.
- Støtte for ARM64-arkitektur (Aarch64) har blitt betydelig forbedret og delvis kompatibilitet med Raspberry Pi 3B+-kortet er sikret.
- Mulighetene til Contain-driveren er utvidet for isolert applikasjonskjøring. Lagt til demonstrasjon av bruk av Contain-driveren (desktop-contain.toml).
- Forbedrede drivere for PCI og PCIe. Lagt til VirtIO-drivere.
- Mulighetene til monteringssystemet er utvidet.

Kilde: opennet.ru

