Programiranje

Rustov Redox OS bi lahko Linuxu pokazal nekaj novih trikov

Mozillin jezik Rust so oblikovalci zasnovali kot možnost za hitro in varno pisanje številnih vrst programske opreme, vključno s popolnimi operacijskimi sistemi.

V zadnjih nekaj mesecih je bila skupina razvijalcev zavzeta ravno za to: z Rustom je ustvarila Redox, polno razvit Unix-ov podoben operacijski sistem, zasnovan kot radikalno premislek o pristopu Linuxa.

Nov začetek

Redox za svojo kodo na ravni jedra uporablja Rust, da zagotovi več pomislekov glede varnosti pomnilnika, kot to privzeto dovoljuje C. Toda projekt ne napiše preprosto Linuxa v novem jeziku. Redox zavrže toliko različice Linuxove tradicije Unixa, kolikor je ohrani.

Kot je razloženo v wikiju in projektnih dokumentih projekta, Redox uporablja minimalen nabor syscalls - namerno manjšo podmnožico od tiste, ki jo podpira Linux, da bi se izognil staremu napihnjenju. OS v nasprotju z monolitnim jedrom Linuxa uporablja tudi zasnovo mikrojedr, da ostane vitka.

Premišljeno je bilo tudi veliko notranjega vedenja OS. Unix in Linux oba pojma uporabljata kot datoteko. Redox gre še korak naprej in vse obravnava kot URL, zato je preproste registracije upravljavcev za dogodke in zagotavlja dosleden način izvajanja drugih vrst abstrakcij.

//github.com/redox-os/redox

Načrt pa ni zamenjava Linuxa, temveč zagotavljanje koristne alternative, ki lahko sčasoma zažene programsko opremo Linux takšna, kakršna je. Obstaja že nekaj namigov: podprtih je veliko pogostih ukazov Unix (in s tem tudi Linux), vrata datotečnega sistema ZFS pa so v delu.

Še en radikalen odmik od Linuxa ni v programski opremi, temveč v licenciranju: celoten projekt ima licenco MIT in ne GPL. Utemeljitev je, da licenca MIT precej hitreje kot GPL spodbuja sprejetje na nižji stopnji, "saj je nadaljnje tisto, kar je resnično pomembno: uporabniška baza, skupnost in razpoložljivost."

Dolga pot naprej

Čeprav lahko ISO-je Redox-a prenesete in zaženete, verjetno ne boste kmalu opustili Linux-a za Redox.

Prvič, Redox je nepreizkušen, z veliko manjkajočimi funkcijami in zelo veliko nepopolnimi. Razvijalci Redoxa tudi priznavajo, da ne bo mogoče vzpostaviti "popolne združljivosti Posix 1: 1" (ker OS izpusti številne syscalls klicev Unix), zato bo obstoječa programska oprema Linux verjetno potrebovala podporni sloj na Redoxu - ovira za njegovo sprejetje.

Tudi podedovane kode Linuxa ne bomo zlahka ogrozili. Vanj in razvojno okolje jezika C je bilo vloženih desetletja razvoja in tisoče človeških let dela. Nasprotno jezik Rust obstaja že nekaj let in je šele pred kratkim dosegel stanje stabilnosti, ki zadošča večini ljudi, da z njim gradijo velike in ambiciozne projekte.

Kljub temu je projekt, kot je Redox, dragocen. Če lahko Redox izpolni svojo obljubo, da bo zasnovan bolj varno, bi lahko Redox bolje uporabil številne scenarije vdelanih naprav, ki jih trenutno cilja Linux. Mozilla je že govorila o Rustu kot jeziku za internet stvari, zato bi bil to naravni podaljšek.

Redox je lahko tudi zgled za drugačen pristop k vprašanjem operacijskega sistema, ki izvaja dolgoročni evolucijski pritisk na Linux. Če Linux nikamor ne gre - vsi znaki kažejo, da ni - potem je najbolje najti načine, kako prisiliti, da postane boljši.

$config[zx-auto] not found$config[zx-overlay] not found