Rustov Redox OS mogao bi Linuxu pokazati nekoliko novih trikova

Mozillin jezik Rust dizajnirali su njegovi dizajneri kao opciju za brzo i sigurno pisanje mnogih vrsta softvera - uključujući pune operativne sustave.

Tijekom posljednjih nekoliko mjeseci tim programera bio je zauzet radeći upravo to: koristeći Rust za stvaranje Redoxa, cjelovitog operativnog sustava nalik Unixu osmišljenog kao radikalno preispitivanje Linuxa.

Čisti škriljevac

Redox koristi Rust za svoj kôd na razini jezgre kako bi pružio više sigurnosnih razmatranja nego što C dopušta prema zadanim postavkama. Ali projekt ne prepisuje jednostavno Linux na novi jezik. Redox odbacuje onoliko koliko ima Linuxove verzije Unix tradicije.

Kao što je objašnjeno u wikiju i projektnim dokumentima projekta, Redox koristi minimalni skup syscalls-a - namjerno manji podskup od onoga što Linux podržava kako bi se izbjeglo nasljeđivanje. OS također koristi dizajn mikrokera kako bi ostao vitak, za razliku od Linux-ovog monolitnog jezgra.

Mnoga unutarnja ponašanja OS-a također su preispitana. Unix i Linux koriste pojam svake stavke kao datoteku. Redox ide korak dalje i sve tretira kao URL, tako da je jednostavno registrirati rukovatelje za događaje i pruža dosljedan način izvođenja drugih vrsta apstrakcija.

//github.com/redox-os/redox

Plan, međutim, nije zamjena Linuxa, već pružanje korisne alternative koja s vremenom može pokrenuti Linux softver kakav jest. Već postoji nekoliko savjeta: Podržane su mnoge uobičajene Unix (a time i Linux) naredbe, a postoji i port koji radi u tijeku ZFS datotečnog sustava.

Još jedan radikalan prekid s Linuxom nije u softveru, već u licenciranju: cijeli projekt ima MIT licencu, a ne GPL. Obrazloženje je da MIT licenca potiče usvajanje u daljnjem prometu mnogo lakše od GPL-a, "budući da je nizvodno ono što je doista važno: baza korisnika, zajednica i dostupnost."

Pred nama je dug put

Iako se ISO-ovi Redox-a mogu preuzeti i pokrenuti, vjerojatno nećete uskoro odustati od Linux-a za Redox.

Kao prvo, Redox je neprovjeren, s mnogo nedostajućih značajki i puno nepotpunih. Redoxovi programeri također priznaju da neće biti moguće uspostaviti "potpunu 1: 1 Posix kompatibilnost" (jer OS izostavlja mnoge Unixove syscallove), pa će postojećem Linuxu vjerojatno trebati sloj podrške na Redoxu za pokretanje - prepreka njegovo usvajanje.

I naslijeđena baza Linuxa neće se lako odbaciti. U njega i razvojno okruženje C jezika uložena su desetljeća razvoja i tisuće ljudskih godina rada. Suprotno tome, jezik Rust postoji nekoliko godina i tek je nedavno dosegao stanje stabilnosti dovoljno za većinu ljudi da s njim grade velike, ambiciozne projekte.

Ipak, projekt poput Redoxa vrijedan je. Ako Redox može ispuniti svoje obećanje da će biti dizajnerski sigurniji, mnogim bi scenarijima ugrađenih uređaja koje trenutno cilja Linux možda mogao bolje poslužiti Redox. Mozilla je već govorila o Rustu kao jeziku za uređaje s Internetom stvari, pa bi ovo bilo prirodno produženje.

Redox također može poslužiti kao primjer za različito pristupanje problemima operativnog sustava vršeći dugoročni evolucijski pritisak na Linux. Ako Linux nikamo ne ide - svi znakovi pokazuju da nije - onda je najbolje pronaći načine kako ga prisiliti da postane bolji.