Programovanie

Rust Redox OS by mohol Linuxu ukázať niekoľko nových trikov

Jazyk Rust od Mozilly vytvorili jeho dizajnéri ako možnosť rýchleho a bezpečného písania mnohých druhov softvéru - vrátane úplných operačných systémov.

Za posledných niekoľko mesiacov bol tím vývojárov zaneprázdnený tým, aby robil presne toto: použitie Rustu na vytvorenie Redoxu, plnohodnotného operačného systému podobného Unixu, ktorý bol navrhnutý ako radikálne prehodnotenie prístupu Linuxu.

Čistá bridlica

Redox používa pre svoj kód na úrovni jadra Rust, aby poskytol viac bezpečnostných úvah o pamäti, ako C predvolene umožňuje. Projekt však neprepisuje iba Linux v novom jazyku. Redox vyraďuje toľko, koľko z Linuxovej verzie tradície Unixu zostáva.

Ako je vysvetlené v dokumentoch projektu wiki a dizajne, Redox používa minimálnu sadu systémových volaní - zámerne menšiu podmnožinu, ako podporuje Linux, aby sa predišlo starému nafúknutiu. OS tiež používa design mikrokernelov, aby zostal štíhly, na rozdiel od monolitického jadra Linuxu.

Prehodnotené bolo tiež veľa vnútorných správ OS. Unix aj Linux používajú pojem každá položka ako súbor. Redox ide o krok ďalej a zaobchádza so všetkým ako s URL, takže je jednoduché registrovať obslužné rutiny pre udalosti a poskytuje konzistentný spôsob vykonávania ďalších druhov abstrakcií.

//github.com/redox-os/redox

Plán však nie je nahradiť Linux, ale poskytnúť užitočnú alternatívu, ktorá môže časom spustiť softvér Linux tak, ako je. Existuje už niekoľko rád: Je podporovaných veľa bežných Unixových (a teda aj Linuxových) príkazov a v systéme súborov ZFS je k dispozícii port pre rozpracovanie.

Ďalším radikálnym zlom od Linuxu nie je softvér, ale licencovanie: Celý projekt je licencovaný MIT a nie GPL. Logické je, že licencia MIT podporuje prijatie smerom k dodávateľovi oveľa ľahšie ako GPL, „pretože to, na čom skutočne záleží, je užívateľská základňa, komunita a dostupnosť.“

Pred nami dlhá cesta

Aj keď je možné ISO súbory Redox sťahovať a zavádzať, je nepravdepodobné, že sa Linuxu pre Redox v blízkej dobe zbavíte.

Pre jednu vec je Redox nevyskúšaný, s mnohými chýbajúcimi vlastnosťami a mnohými neúplnými. Vývojári Redoxu tiež pripúšťajú, že nebude možné dosiahnuť „úplnú kompatibilitu Posixu 1: 1“ (pretože OS vynecháva mnoho unixových volaní Unixu), takže existujúci softvér pre Linux bude pravdepodobne na spustenie Redoxu potrebovať podpornú vrstvu - prekážku pre jeho prijatie.

Dedičná základňa kódov systému Linux tiež nebude ľahko odstránená. Do tohto prostredia a vývojového prostredia jazyka C boli investované desaťročia vývoja a tisíce rokov práce. Jazyk Rust naproti tomu existuje už niekoľko rokov a len veľmi nedávno dosiahol stav stability dostatočný na to, aby s ním väčšina ľudí mohla stavať veľké a ambiciózne projekty.

Napriek tomu je projekt ako Redox cenný. Ak Redox dokáže splniť svoj prísľub, že bude bezpečnejší už od návrhu, mohol by Redox lepšie poslúžiť mnohým scenárom zabudovaných zariadení, na ktoré sa v súčasnosti zameriava Linux. Mozilla už hovorila o Rust ako o jazyku pre zariadenia internetu vecí, takže by išlo o prirodzené rozšírenie.

Redox môže slúžiť aj ako príklad na odlišné pristupovanie k problémom s operačným systémom, vyvíjanie dlhodobého evolučného tlaku na Linux. Ak Linux nikam nevedie - všetky znaky ukazujú, že to tak nie je - potom je najlepšie nájsť spôsob, ako ho prinútiť, aby sa zlepšoval.

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