Unununium

6. 3. 2006
Doba čtení: 3 minuty

Sdílet

Nenechte se mýlit, tento článek se nebude zabývat prvkem s protonovým číslem 111, ale nově vznikajícím operačním systémem. Projekt se snaží vnést do návrhu systémů některé víceméně nové prvky. Ty by mohly mít, povede-li se dosáhnout všech cílů, vliv na další vývoj operačních systémů.

Hlavním cílem projektu Unununium, jak tvrdí sami autoři, je vytvořit operační systém s elegantním designem, který by umožňoval plně využít potenciálu soudobých počítačů. Snad téměř všechny operační systémy pracují na stejném modelu: globální a poměrně jednoduchý file system, se kterým pracuje mnoho aplikací; tyto aplikace jsou samostatné entity komunikující mezi sebou různými způsoby (příkladem mohou být roury či sdílená paměť).

Prvním cílem projektu je zlepšit propojení (interconnection) mezi jednotlivými aplikacemi. Aplikace by neměly být pouze „krabicemi“ využívajícími knihovny, ale ne už ostatní aplikace. Podle autorů by např. textový editor neměl být aplikací oddělenou od ostatních, ale spíše komponentou, která může být použita k editování jakéhokoliv textu. Pak bychom mohli používat svůj oblíbený textový editor např. k zapisování do formulářů webových stránek, kdy by se stal součástí prohlížeče. Prostředí operačního systému by tedy nemělo být pouze soustavou samostatných aplikací, ale hierarchií komponent, propojitelných do jakéhokoliv celku.

Projekt dále věří v univerzální přístup k datům, která by byla uložena v jednotném jmenném prostoru. Tato idea trochu připomíná projekt Mungi. Programy potom mohou data zpřístupňovat společným rozhraním, přičemž nezáleží, z jakého zdroje data jsou. Autoři však dále nespecifikují způsob práce s daty či jejich ochranu.

Unununium by nemělo obsahovat klasický file system. Data je však nutno nějak uchovávat a na současných počítačích se většinou jedná o ukládání na pevné disky. Použitá technologie se nazývá Orthogonal persistence. Prakticky se jedná o to, že operační paměť se stává cache pamětí pro pomalejší a větší médium, např. výše zmiňovaný disk. Jedná se o stejné použití jako u pamětí L2 cache a registrů u CPU. Tato implementace je podobná EROSu. Autoři slibují, že tato persistence bude rychlá a plně automatická. V případě, že dojde k nekorektnímu vypnutí počítače (např. při výpadku proudu), zůstane kontext systému nezměněn a po zapnutí v něm bude možné pokračovat (jako při hibernaci u notebooků).

Unununium používá nový formát uchovávání času. Ve všech Unixových systémech je čas 32 bitové číslo představující počet sekund od 1. ledna 1970. V roce 2038 však kapacita tohoto čísla vyprší. Epocha Uuu začíná 1. ledna 2000 TAI. Kde TAI znamená „Temps Atomic International“, nebo anglicky: „International Atomic Time“. TAI je pro srovnání posunut od UTC o 32 sekund napřed. Čas je uchováván jako 64 bitový znaménkový integer, takže se nemusíme bát, že jen tak dojde k jeho přetečení.

ict ve školství 24

Aby se vývojáři mohli soustředit pouze na implementaci výše zmíněných prvků, bylo nutno přijít s patřičnou základnou. Tou se stal high-level programovací jazyk Python. Programátoři se tedy nemusejí zabývat věcmi jako je memory management, který přenechají v plné režii interpretu, ale (v této chvíli) přednějším věcem. Kdekdo si může říci, že to nebude nijak rychlé. A určitě bude mít pravdu. Nejedná se však o chybu jazyka samotného, na vině je implementace interpretu jazyka. Sami autoři tvrdí, že v druhém kole vývoje se pokusí systém zrychlit. Zatím se však musí spolehnout na jiné projekty. Psyco je just-in-time (JIT) compiler, který by měl kód zrychlit v průměru 4× (bez zásahu do zdrojového kódu). Pyrex zase umožňuje kompilaci modulů Pythonu do C nebo Assembleru. A nejedná se o jediné podobné projekty. Navíc jazyk sám umožňuje používat knihovny napsané v C/C++ přes své API.

Je ve hvězdách, zda se nakonec podaří vývojářům dosáhnou těchto cílů. Bude-li mít Unununium jiné uplatnění než studijní, můžeme hádat tamtéž. Jedná se však určitě o velmi zajímavý projekt, který, bude-li mít úspěch, změní pohled na návrh operačních systémů.

Autor článku