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

OS SingularityOS Singularity

 

OS Singularity

Google       Google       8. 10. 2006       13 906×

Č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 Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres HCPP16 pořádá od 30. září do 2. října nezisková organizace Paralelní Polis již potřetí, a to ve stejnojmenném bitcoinovém prostoru v pražských Holešovicích. Letos přiveze na třídenní konferenci přes 40 většinou zahraničních speakerů – lídrů z oblastí technologií, decentralizované ekonomiky, politických umění a aktivismu. Náměty jejich přednášek budou také hacking, kryptoměny, věda, svoboda nebo kryptoanarchie.

Reklama
Reklama
Obrázek ke článku ICT PRO školení zaměřené nejenom na ICT

ICT PRO školení zaměřené nejenom na ICT

Dovolte, abychom se představili. Jsme zaměstnanci společnosti ICT Pro, profesionálové v oblasti poskytování komplexních ICT služeb. Neboli služeb spojených s informačními a komunikačními technologiemi, které dnes - ve 21. století - tvoří  nedílnou součást běžného provozu všech moderních firem.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý