Když se dnes objeví „nový operační systém“, většinou jde ve skutečnosti o další linuxovou distribuci. Změní se grafické prostředí, předinstalované aplikace a několik systémových nástrojů, ale pod povrchem stále běží Linux.
LiberSystem jde jinou cestou. Není založený na Linuxu, nepoužívá jeho jádro a nesnaží se být ani další variantou Unixu. Celý systém vzniká od základů jako samostatný open-source operační systém.

Český projekt s globálními ambicemi
Za projektem LiberSystem stojí čeští autoři, kteří působí v rámci open-source organizace LiberSoft. Ta se zaměřuje na vývoj svobodného softwaru a otevřených technologií dostupných veřejnosti. Přestože má projekt české autory, od začátku je koncipován pro mezinárodní komunitu. Webové stránky projektu jsou dostupné i v češtině.
Proč měnit něco, co desítky let funguje?
Linux, Windows i další zavedené systémy mají obrovskou výhodu: existují pro ně miliony aplikací, tisíce ovladačů a desetiletí zkušeností. Stejná historie je ale zároveň omezuje. Změnit některé jejich základní principy by znamenalo porušit kompatibilitu s obrovským množstvím existujícího softwaru.
LiberSystem se proto rozhodl začít s čistým stolem.
Opouští například známou unixovou myšlenku „všechno je soubor“. V Linuxu se jako soubory nebo textová rozhraní často tváří nejen běžná data, ale také zařízení, informace o procesech nebo části konfigurace systému. Je to sice jednoduchý a historicky funkční model, avšak z pohledu autorů LiberSystemu je to ale také model, který spojuje velmi odlišné věci, které k sobě nepatří, do jedné struktury a to přináší nepřehlednost pro běžné uživatele.
Nový systém místo toho pracuje s přesně definovanými objekty. Proces je proces, síťové připojení je síťové připojení a soubor je soubor. Každý objekt má vlastní typ, rozhraní a sadu povolených operací.

Žádný všemocný správce
Jedním z nejdůležitějších rozdílů je způsob zabezpečení. Tradiční operační systémy obvykle pracují s uživatelskými účty a privilegovaným správcem, který může získat prakticky neomezenou kontrolu, což může být značně nebezpečné.
LiberSystem staví na takzvaných capabilities. Název zní složitě, princip se však dá přirovnat ke svazku klíčů. Program automaticky nedostane přístup ke všemu, co může uživatel nebo správce systému dělat. Obdrží pouze konkrétní „klíče“ k prostředkům, které skutečně potřebuje.
Aplikace určená k přehrávání hudby tak například nemusí mít přístup k celé síti, všem diskům a ostatním procesům. Dostane oprávnění jen k vybraným souborům a zvukovému zařízení. Pokud je napadena, útočník by měl zůstat omezen stejnými právy. To eliminuje spoustu případných škod způsobených například virem nebo hloupostí nezkušeného uživatele.
Princip nejmenších oprávnění zde není pouze doplňkovým bezpečnostním nastavením. Je součástí samotné architektury systému.

Malé jádro a oddělené ovladače
LiberSystem používá mikrojádrovou architekturu. Jeho jádro má řešit pouze základní úkoly, jako je správa paměti, plánování procesů, komunikace mezi částmi systému a vynucování oprávnění.
Ovladače, souborové systémy, síťové funkce nebo zvukové služby mají běžet odděleně. Pokud například selže ovladač, neměl by automaticky shodit celý operační systém. Ovladač či služba, která spadla, se automaticky a samostatně restartuje, bez nutnosti restartovaní celého systému. Takové uspořádání může zlepšit bezpečnost i stabilitu.
Jádro tedy funguje především jako malý bezpečný rozhodčí, nikoli jako místo, do kterého se postupně přidává většina funkcí operačního systému.

Rust má zabránit nebezpečným chybám
Systém je napsaný v jazyce Rust. Ten se v posledních letech prosazuje právě tam, kde je důležitý výkon a současně bezpečná práce s pamětí.
Řada kritických chyb v operačních systémech vzniká například nesprávným zacházením s ukazateli, přístupem za hranice paměti nebo použitím již uvolněných dat. Rust dokáže velkou část těchto problémů odhalit ještě při překladu programu.
Ani Rust samozřejmě automaticky nezaručí, že bude celý systém bezchybný. Výrazně však omezuje některé třídy zranitelností, které dlouhodobě trápí operační systémy napsané v jazycích C a C++, jako je například Linux.
Jeden systém pro klasické počítače, ARM i RISC-V
LiberSystem není navržený jen pro jednu procesorovou architekturu. Stejné přenositelné jádro se překládá pro běžné počítače s architekturou x86-64 (Intel, AMD), zařízení s ARM64 (mobilní telefony, tablety, chytré televize apod.) i otevřenou architekturu RISC-V.
Všechny tři verze již startují ve virtualizačním programu QEMU a dostanou se až k interaktivnímu příkazovému řádku, ve kterém lze spouštět základní příkazy systému. Aktuálně systém disponuje základními ovladači pro disky, grafiku, zvuk, síť, USB a vstupní zařízení jako klávesnice a myš.
Nejde tedy jen o návrh na papíře. LiberSystem už je možné sestavit, spustit, testovat a vytvářet z něj bootovací image.

Aplikace neřeší typ procesoru
Zajímavou součástí projektu je také aplikační model využívající WebAssembly a WASI. Technologie WebAssembly byla původně známá především z internetových prohlížečů, postupně se ale rozšiřuje i mimo web.
Její výhodou je přenositelnost. Stejná aplikace tedy bude fungovat na počítači s procesorem Intel či AMD, na ARM zařízení (mobilní telefony, tablety, televize apod.) i na RISC-V bez toho, aby vývojář musel distribuovat tři rozdílné programy.
WebAssembly aplikace jsou navíc přirozeně izolované a získávají pouze funkce, které jim operační systém výslovně zpřístupní. To dobře zapadá do bezpečnostního modelu LiberSystemu. Systém na této technologii ovšem není zcela závislý. WebAssembly má být jen jednou z vrstev nad vlastním nativním rozhraním a v budoucnu může být doplněna dalšími způsoby spouštění programů.
Nahradí Windows nebo Linux?
V nejbližší době ne. Samotní autoři projekt označují za ranou vývojovou verzi, nikoli za hotový univerzální operační systém. V současné fázi je LiberSystem určený především vývojářům, technologickým nadšencům, výzkumu a potenciálně bezpečnostním či specializovaným zařízením.
Největší překážkou nových operačních systémů totiž obvykle není samotné jádro. Je jí ekosystém. Bez ovladačů, aplikací, grafického prostředí a podpory hardwaru se ani technicky zajímavý systém nemůže stát běžnou alternativou.
LiberSystem proto nejprve míří na jednoduchá IoT zařízení, následně se v další etapě vývoje zaměří na využití na serverech a nakonec by se mohl objevit i na desktopech a mobilních zařízení.

Experiment, který stojí za pozornost
LiberSystem přichází s odvážnou otázkou: Jak by vypadal operační systém, kdyby vznikal dnes a nemusel zachovávat kompatibilitu s limitujícími rozhodnutími starými několik desetiletí?
Odpovědí má být malé jádro, důsledně oddělené služby, bezpečný jazyk Rust, přesně definovaná oprávnění a aplikace přenositelné mezi různými typy procesorů.
Zda se kolem projektu podaří vybudovat dostatečně velkou komunitu a softwarový ekosystém, ukáže čas. Už nyní ale LiberSystem dokazuje, že svět operačních systémů nemusí končit u Windows, macOS a Linuxu. Někdy má smysl nepředělávat starý dům, ale pokusit se postavit nový od základů.
Projekt je vyvíjen zdarma jako software s otevřenými zdrojovými kódy a dokumentací, veřejně dostupný na GitHubu.
Další informace o projektu:
Web projektu: https://libersystem.com
Zdrojové kódy: https://github.com/libersoft-org/libersystem
Webové stránky vývojářů: https://libersoft.org




K tomuto článku není otevřena diskuze