Programování

Rustův Redox OS by mohl Linuxu ukázat několik nových triků

Jazyk Rust od Mozilly byl vytvořen jeho designéry jako možnost rychlého a bezpečného psaní mnoha druhů softwaru - včetně plných operačních systémů.

Během posledních několika měsíců byl tým vývojářů zaneprázdněn tím, že to udělal přesně: pomocí Rustu k vytvoření Redoxu, plnohodnotného unixového operačního systému navrženého jako radikální přehodnocení přístupu Linuxu.

Čistá břidlice

Redox používá Rust pro svůj kód na úrovni jádra, aby poskytl více bezpečnostních hledisek paměti, než C ve výchozím nastavení umožňuje. Projekt ale jednoduše nepřepíše Linux v novém jazyce. Redox zahodí tolik, kolik si ponechává linuxová verze unixové tradice.

Jak je vysvětleno v dokumentech projektu wiki a designu, Redox používá minimální sadu syscallů - záměrně menší podmnožinu než to, co Linux podporuje, aby se zabránilo staršímu nafouknutí. OS také používá design mikrokernelů, aby zůstal štíhlý, na rozdíl od monolitického jádra Linuxu.

Mnoho vnitřních chování operačního systému bylo také přehodnoceno. Unix i Linux používají pojem každé položky jako soubor. Redox jde o krok dále a zachází se vším jako s URL, takže je jednoduché registrovat obslužné rutiny pro události a poskytuje konzistentní způsob provádění dalších druhů abstrakcí.

//github.com/redox-os/redox

Plán však není nahradit Linux, ale poskytnout užitečnou alternativu, která může časem spustit Linuxový software tak, jak je. Existuje již několik rad: Je podporováno mnoho běžných unixových (a tedy i Linuxových) příkazů a v systému souborů ZFS existuje port pro rozpracování.

Další radikální zlom od Linuxu není v softwaru, ale v licencování: Celý projekt je licencován MIT a ne GPL. Důvodem je, že licence MIT podporuje přijímání po proudu mnohem snadněji než GPL, „protože na proudu je to, na čem skutečně záleží: uživatelská základna, komunita, dostupnost.“

Dlouhá cesta před námi

I když lze ISO Redox stahovat a zavádět, není pravděpodobné, že se Linuxu pro Redox v blízké době zbavíte.

Za prvé je Redox nevyzkoušený, s mnoha chybějícími funkcemi a spoustou neúplných. Vývojáři Redoxu také připouštějí, že nebude možné dosáhnout „úplné kompatibility Posixu 1: 1“ (protože OS vynechává mnoho unixových volání Unix), takže stávající software pro Linux bude pravděpodobně potřebovat pro spuštění Redoxu podpůrnou vrstvu - překážku jeho přijetí.

Starší kódová základna Linuxu také nebude snadno odstraněna. Desetiletí vývoje a tisíce lidských let práce byly investovány do tohoto prostředí a vývojového prostředí jazyka C. Jazyk Rust naproti tomu existuje již několik let a teprve nedávno dosáhl stavu stability dostatečné pro většinu lidí, aby s ním mohli stavět velké ambiciózní projekty.

Přesto je projekt jako Redox cenný. Pokud Redox dokáže splnit svůj slib, že bude bezpečnější již od návrhu, může Redox lépe posloužit mnoha scénářům integrovaných zařízení, na které se aktuálně zaměřuje Linux. Mozilla již hovořila o Rustu jako o jazyce pro zařízení internetu věcí, takže by to bylo přirozené rozšíření.

Redox může také sloužit jako příklad pro odlišné přistupování k problémům s operačním systémem, vyvíjející dlouhodobý evoluční tlak na Linux. Pokud Linux nikam nevede - všechny příznaky ukazují, že to tak není - pak je nejlepší najít způsoby, jak ho přinutit, aby se zlepšoval.