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

OS SingularityOS Singularity

 
Hledat
Moderní platforma pro vytvoření vašeho nového webu – Wix.com.
Nyní už můžete mít web zdarma.
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

OS Singularity

Google       Google       8. 10. 2006       16 044×

Č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 Spotřebitelé důvěřují novým technologiím při péči o seniory, ale správu financí by jim nesvěřili

Spotřebitelé důvěřují novým technologiím při péči o seniory, ale správu financí by jim nesvěřili

 71 % vítá nové technologie ke sledování zdravotního stavu postarších příbuzných, které jim umožňují žít déle doma

 Pouhých 7 % by svěřilo správu svých financí umělé inteligenci, i kdyby to znamenalo rychleji naspořit prostředky na pořízení bydlení

 64 % respondentů nemá dojem, že firmy a stát dostatečně informují o tom, jaké technologie a jak užívají

Reklama
Reklama
Obrázek ke článku Mobilní operátoři využívají digitální modely terénů a kvůli stavebnímu boomu i 3D modely budov

Mobilní operátoři využívají digitální modely terénů a kvůli stavebnímu boomu i 3D modely budov

Mít pokrytí co nejširšího území Česka a nabízet svým zákazníkům co nejlepší signál je společným cílem všech mobilních operátorů. Při plánování sítí proto využívají aktualizovaných digitálních modelů terénu, jež jim umožňují přesně si vypočítat pokrytí a šíření signálu. V hustě zastavěných oblastech a s ohledem na stavební boom jim pak pomáhají také 3D modely budov, které by jim při nesprávném umístění vysílače mohly signál blokovat.

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