OS Singularity
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

OS SingularityOS Singularity

 
Hledat
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Pergoly a střechy Brno

OS Singularity

Google       Google       8. 10. 2006       17 810×

Článek popisuje OS Singularity společnosti Microsoft. Poukazuje na možné principy operačních systémů budoucnosti.

Reklama
Reklama

Singularity je relativně nový operační systém společnosti Microsoft, který vyvíjí tým Microsft Research. Cílem je vyzkoušet různé principy, které by se mohly v operačních systémech v budoucnosti objevit. Díky tomu, že se jedná o výzkumný projekt, mohou si vývojaři dovolit odstranit některé postupy, které dnešní aplikace používají, a nahradit je jiným konceptem, díky kterému například pád jednoho procesu nemůže ovlivnit fungování jiného.

Systém je jedinečný tím, že je přibližně z 90 % napsaný v jazyku C# – většina kernelu a všechny aplikace jsou psány v bezpečném managed kódu. O jejich spouštění se stará běhové prostředí systému, podobně jako .NET Framework pod Windows. Ze zbývajících několika procent je většina unsafe C# – např. garbage collector musí pracovat alespoň v minimální míře s ukazateli, ale i tak může být psán v C#. To, že je systém a z větší části i kernel napsán v C#, rozhodně neznamená, že by byl výrazně pomalejší – procesy se při spouštění (z větší části pravděpodobně při instalaci) kompilují do nativního kódu a běží nativně. Hlavní výhoda je, že nativní kód vznikl z managed jazyka a nemůže obsahovat neverifikovatelné, a tedy potenciálně nebezpečné operace, jako např. přístup programu do paměti, která mu nepatří.

Mikrokernel a izolace procesů

Systém je založený na architektuře mikrokernelu – samotné jádro je co nejmenší a řídí pouze to nejnutnější, jako je komunikace mezi dalšími komponentami a správa paměti. Architektura má smysl, pouze pokud jsou od sebe všechny komponenty důsledně izolované, a proto se v čisté podobě nepoužívá v dnešních OS. To lze řešit hardwarově pomocí segmentace a mapování paměti, což systém zpomaluje a to je na úrovni kernelu a ovladačů problém.

Singularity nabízí elegantní řešení – tím, že jsou všechny procesy psané v managed kódu, je při jejich spuštění zaručeno, že budou pracovat pouze s pamětí, která jim náleží, a izolace je tedy řešená softwarově. Všechny procesy tedy mohou bez starostí běžet v jednom adresovém prostoru a odpadá potřeba virtuální paměti pro každý proces a zpomalování kvůli přepočítávání adresy.

Konec s dynamickým linkováním

Po přímém přístupu k paměti je dalším z principů, které v Singularity není možné používat, dynamické linkování – tedy načítání a spouštění kódu v rámci aplikace za běhu, které může být často nebezpečné i v nešikovně napsané managed aplikaci. Aplikaci je možné bez dynamického linkování mnohem lépe při kompilaci optimalizovat (kompilátor zná vše, co se kdy může v aplikaci odehrát).

Nemožnost dynamického načítání je nahrazena možností spouštět další procesy a efektivním způsobem rychlé komunikace mezi procesy.

Komunikace mezi procesy

Mechanismus, který umožňuje komunikaci, se v Singularity nazývá kanály (channels). Kanál je spojení mezi dvěma procesy řízené jádrem operačního systému a má jasně definovaný kontrakt. Kontrakt je v tomto případě nejen struktura zpráv, které se mohou kanálem posílat, ale i omezení kladené na jejich pořadí (strukturu zpráv může celkem úspěšně kontrolovat kompilátor, pořadí se podle mě musí vynucovat až za běhu). Kanál není součástí aplikací, takže pokud dojde k chybě v jedné aplikaci, neovlivní to fungování aplikace na druhém konci (jak se může stát při standardním sdílení paměti).

Posílání zpráv přes kanál má ještě jednu zajímavou vlastnost. Architektura je navržená tak, že jakmile aplikace pošle zprávu do kanálu, ztrácí na ni přístup (a nemůže ji měnit). To je zásadní rozdíl oproti sdílení části paměti a hlavní výhodou je, že o takto napsaném programu se dá mnohem lépe přemýšlet a posuzovat jeho správnost. Mimo to je díky této logice možné komunikaci napsat velmi efektivně. Oba procesy běží ve stejném adresovém prostoru a zásluhou managed kódu nemohou ilegálním způsobem manipulovat s pamětí, a tak při posílání zprávy systém může pouze předat ukazatel na data zprávy.

Závěrem

Bez nadsázky mohu říct, že se jedná o skutečně jedinečné pojetí architektury operačního systému, které svými vlastnostmi překoná pravděpodobně všechny stávající operační systémy. Dá se předpokládat, že použití principů Singularity v praxi nebude ještě nějakou dobu možné. Další informace můžete najít na domovské stránce projektu.

Moc mě zajímají váše názory na architekturu OS a použité technologie – napište je, prosím, do komentářů.

Zdroj: http://blog.vyvojar.cz/tomas/archive/2006/10/03/Microsoft-Research-_2D00_-Singularity-OS.aspx - autor souhlasil s použitím textu

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Dušan JanošíkDušan vyvíjí software a webové aplikace na platformě .NET. Je milovníkem neuznávaných teorií, a zajímá se o parapsychologii a teraristiku.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Reklama
Reklama
Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Obrázek ke článku Konference: Moderní informační systémy podporují automatizaci

Konference: Moderní informační systémy podporují automatizaci

Současná situace v šíření onemocnění Covid-19 klade na řadu firem nové nároky a mnohé z nich jsou nyní více než kdy jindy závislé na nejmodernějších informačních technologiích. Proto i v oblasti podnikových informačních systémů vidíme rostoucí důraz na automatizaci nebo na důslednou integraci. Také o těchto trendech se bude mluvit na konferenci Firemní informační systémy, která se koná 24.9.2020 v pražském Kongresovém centru Vavruška na Karlově náměstí.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032023 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý