Operační systémy jsou na vývoj nesmírně komplexní. Přesto se i u nás v Česku našel tým vývojářů, kteří se do tohoto nelehkého úkolu pustili. Současné systémy jako Windows, Linux a macOS vznikaly před desítkami let, a tak se český tým vývojářů LiberSoft snaží přijít s něčím novým, modernějším.
LiberSystem je nově vznikající český operační systém. Jde opravdu o celý operační systém, nikoliv jen další distribuci Linuxu. Vývojáři se rozhodli vzít to od základů a vše navrhnout s ohledem na potřeby současné doby, tedy především na bezpečnost, přenositelnost a dlouhodobou použitelnost.
Architektura vycházející z požadavků moderního světa
Většina současných operačních systémů vznikala v době, kdy byly prioritami kompatibilita s tehdejším hardwarem a výkon. Pak se přidávaly nové vrstvy zabezpečení, virtualizace či podpora moderních zařízení. Všechno se to nabalovalo, až vzniklo něco, v čem je těžké předvídat všechny možné bezpečnostní problémy.
LiberSystem na to jde jinak. Architektura už od začátku počítá s požadavky dnešního světa a ve velkém dbá na ochranu dat a bezpečnost. Cílem není vytvořit jen další systém pro běžný kancelářský počítač. Výhledově má vzniknout operační systém vhodný pro různé typy zařízení od vestavěných systémů přes servery až po domácí zařízení.
Mikrojádro jako základ bezpečnosti
Jedním ze základních principů, na kterých LiberSystem staví, je mikrojádrová architektura. Klasické operační systémy používají tzv. monolitická jádra, kde spousta funkcí běží přímo v privilegovaném režimu. Bavíme se o systémových službách, ovladačích zařízení či správě souborového systému. Chyba v jedné části systému pak může mít dopad na celý operační systém.
U mikrojádra je to jinak. Jádro obsahuje jen minimum funkcí a ostatní části systému fungují samostatně mimo něj. Komunikují spolu přes přesně definovaná rozhraní. Výsledkem je daleko lepší izolace systému. Když dojde k chybě v určité službě, neohrozí to celý operační systém.
Bezpečnost a přesná oprávnění
LiberSystem staví na bezpečnosti, a to nejen pokud jde o mikrojádro. LiberSystem využívá koncept, kdy jednotlivé komponenty dostávají pouze konkrétní oprávnění, která potřebují. To je obzvlášť důležité, pokud daný operační systém zamýšlíte nejen pro osobní počítače, ale také pro kritickou infrastrukturu, průmyslová zařízení či internet věcí.
Operační systémy se tradičně vyvíjely v jazyce C či C++, které sice umožňují vysokou kontrolu nad hardwarem, ale také častokrát přináší chyby spojené například s nesprávnou prací s pamětí. LiberSystem využívá jazyk Rust, který byl stvořen s důrazem na spolehlivost programování a bezpečnost paměti. Vývojář s ním může vytvářet nízkoúrovňový software a mít přímou kontrolu nad výkonem, ale zároveň získává vyšší míru ochrany proti klasickým programátorským chybám.
Přenositelné aplikace pro různé architektury
Dalším velmi zajímavým prvkem LiberSystemu je využití technologií WebAssembly a WASI. Klasicky bývají aplikace závislé na konkrétní architektuře procesoru či operačním systému. Vytvoříte program pro jednu platformu a pro jinou ho musíte upravit. WebAssembly ale umožňuje vytvořit univerzální formát. Jednu výslednou aplikaci spustíte na x86-64, ARM64 či RISC-V. A mimochodem, v LiberSystemu běží aplikace v sandboxovém prostředí. Nemají tedy neomezený přístup k systému, pohybují se pouze v prostoru, který jim poskytne operační systém, což zvyšuje bezpečnost a usnadňuje správu aplikací.
Vlastní komunikační jazyk i souborový systém
Moderní operační systém se skládá ze spousty služeb a komponent, které spolu musí komunikovat. LiberSystem pro tyto účel využívá vlastní jazyk LSIDL (LiberSystem Interface Definition Language), který popisuje rozhraní mezi jednotlivými částmi systému. Výhodou tohoto přístupu je malé riziko chyb při komunikaci mezi komponentami. Vývojáři mají jasně stanovená pravidla, jak spolu mají jednotlivé části systému spolupracovat.
LiberSystem má také vlastní souborový systém LiberFS. Využívá princip copy-on-write, takže nikdy nepřepisuje existující bloky, změny ukládá vždy do nově alokovaného prostoru. Pro ukládání metadat používá B+stromy, podporuje read-only snapshoty. Volitelně umí i transparentní kompresi. Díky tomu všemu je LiberFS moderním souborovým systémem, který nabízí spolehlivost a konzistenci dat.
Jiný pohled na souborový systém
LiberSystem není jen další unix, což dokazuje i jiný pohled na souborový systém. Nemá jediný adresářový strom, místo toho má oddělené jmenné prostory. Diskové svazky najdete pod vol://, systémová zařízení pod dev://. Stejně tak LiberSystem na rozdíl od unixu nepohlíží na všechno jako na soubor. Systémové služby tedy mohou požívat data v takovém formátu, v jakém je to nejlepší – text, strukturované formáty jako JSON či CBOR. Proč by měly systémové služby parsovat textové výpisy určené primárně pro člověka?
Nový směr v oblasti operačních systémů
LiberSystem od vývojářů z LiberSoft je tedy velmi zajímavým experimentem v oblasti, kterou dlouhodobě ovládá několik velkých hráčů. Jeho hlavní myšlenkou je přehodnotit způsob, jakým mohou být navrhovány moderní operační systémy.
Zatím je to ale stále projekt ve vývoji. Kdo si ho chce vyzkoušet, může sehnat zdrojový kód na GitHubu. Operační systém je šířen pod licencí Unlicence, je to tedy open source, se kterým můžete nakládat podle vlastní libosti. V aktuální chvíli nečekejte žádný graficky povedený operační systém, ovládat se dá pouze přes terminál. Podporuje základní služby, ale pokročilé věci budou teprve postupně přidávány. Ostatně na GitHubu si můžete všimnout, že se na systému neustále pracuje, pořád přibývají nové commity. Na GitHubu najdete i spoustu dalších informací včetně roadmapy do budoucna. Zdá se, že se ještě máme na co těšit. O tomto projektu v budoucnu rozhodně uslyšíme.