Hlavní stránka Multimédia Zprávy IT Windows Vista - Co v sobě ukrývají?
Windows Vista - Co v sobě ukrývají?
autor: Helmich Jiří , publikováno 12.7.2006
Windows Vista - Co v sobě ukrývají?

Microsoft v červnu vypustil v rámci CTP do světa druhou betaverzi připravovaného systému Windows Vista. Všichni dobře víme, že Windows Vista, dříve známé pod codename Longhorn, nabírají stále větší zpoždění. Proto se postupně podíváme na to, co se ve Windows Vista chystá nového a je-li zde pádný důvod, proč na nový operační systém čekat a přežívat na operačních systémech typu Windows 98/ME/2000. Dnes se zaměříme spíše na technickou stránku věci a podíváme se na technologie, na kterých jsou nové Windows Vista postaveny.


Microsoft sliboval, že spolu s Windows Vista se dočkáme celé řady inovací. Jádro systému mělo být napsáno od nuly a celá koncepce systému oproti Windows XP změněna. Nyní je nejspíše ta pravá chvíle podívat se na koncepci systému zblízka. Doufejme, že nás architektura nového systému nedonutí používat nové klávesnice.

Windows Vista - Co v sobě ukrývají?

Modularita

Tou největší změnou v systému je přechod k modularitě. Zatímco Windows XP byly koncipovány jako celek, který nešel jinak provozovat, Windows Vista mají jádro systému, na které jsou nabalovány moduly. Vytvoření jednotlivých verzí systému je tak otázkou hodin, možná dokonce minut, během kterých programátoři Microsoftu pouze z verze Ultimate odeberou příslušné moduly. Mohlo by se však zdát, že tato koncepce je výhodná pouze pro Microsoft, nikoli pro koncového uživatele. To by ale byl velký omyl. Nejjednodušším příkladem je vydávání tzv. Hotfixů, tedy záplat. Zatímco s Windows XP byla sitauce taková, že Microsoft vydal záplatu pro anglické verze systému a zbytek světa musel čekat na lokalizace, ve Windows Vista toto odpadá. Jazyk systému je totiž také modul (včetně angličtiny), systém si tedy "tahá" jazyk z jazykového modulu a je psán zcela neutrálně - místo konkrétního slova je v systému pouze proměnná, která je za běhu nahrazena příslušným slovem z jazykového modulu. Tím pádem jsou i Hotfixy zcela neutrální a bude možné je použít ve všech jazykových verzích systému, resp. v jakékoli instalaci systému kdekoli na světě (žádná jazyková verze v podstatě existovat nebude).

Díky modularitě se ale bude systém moci lépe přizpůsobit vašemu hardwaru - bude moci vyřadit z provozu příliš náročné a nepotřebné moduly a šetřit tak systémovými prostředky. Následné rozšíření systému například o souborový systém WinFS tedy nebude žádný problém.

WinFX = .NET 3.0 = WPF + WCF + WF + WCS + .NET 2.0

Jistě vás zajímá, co se stará o chod Windows Vista. Ve Windows XP, stejně jako v několika předchozích verzích Windows, se staralo o chod systému jádro, kterému pomáhalo rozhraní WinAPI. Bez jádra se neobejde žádný systém, a proto i ve Windows Vista jádro nalezneme. Toto jádro je však oproti jádru Windows XP zcela nové, kompletně přepracované. Větší změna ale nastala v komunikačním rozhraní. Microsoft definitivně upustil od použití WinAPI a místo něj nyní používá framework WinFX, neboli .NET 3.0. .NET, to vám jistě něco říká - ano, tento framework nás již provází několik let a je naprosto nezbytný pro spuštění mnoha aplikací v současných Windows XP. Aktuálně používáme .NET verze 2.0, ale jak jistě tušíte, bude existovat také .NET 3.0 pro Windows XP. Veškeré aplikace spustitelné na Windows Vista tedy bude možné spustit na Windows XP s .NET 3.0.

Co to vlastně WinFX neboli .NET 3.0 je? Jedná se o programovací model s řízeným kódem, jehož součástí jsou výše vyjmenované technologie. Abychom lépe pochopili chod systému Windows Vista, řekneme si k těmto technologiím něco bližšího.

Windows Vista - Co v sobě ukrývají?

schéma programovacího modelu WinFX

WPF, WGF

První ze jmenovaných technologií dost možná znáte pod názvem Avalon, oficiální název je ovšem WPF neboli Windows Presentation Foundation. WPF se stará čistě o grafickou stránku věci. WPF podporuje celou řadu programovacích jazyků - od C#, VisualBasic .NET přes J# až po nejnovější XAML (Extensible Application Markup Language), které dovolí vývojářům používat XML objektový model. WPF je postaven na rozhraní DirectX, díky čemuž je schopen zobrazovat aplikace psané pro dřívější verze Windows.

S DirectX je to ve Windows Vista vůbec složité, měli bychom si v tom udělat trochu jasno. Jistě jste zaznamenali zprávy o tom, že DirectX ve Windows Vista nebude a Microsoft ho nahradí rozhraním WGF. To se také stalo, jenže WGF 1.0 je pouze rozšířeným DirectX 9.0c, především o virtualizaci (viz. dále). Rozhraní Avalon tedy komunikuje s WGF 1.0, které je napojeno na společnou pipeline s ostatními součástmi rozhraní DirectX. Pokud je to třeba, zpracovává data ještě OpenGL2DirectX převodník, odkud data proudí právě do WGF 1.0. Řadu novinek přináší až rozhraní WGF 2.0. Narozdíl od WGF 1.0 přináší výhody pro karty podporující WDDM (Windows Display Driver Model) - když vyměníte grafickou kartu a reinstalujete ovladače, Windows XP chtějí bezpodmínečně restart. Toto je ve Windows Vista minulostí - WGF 2.0 je dělaný obecněji a karty s podporou WDDM jsou ve své podstatě universální a ke komunikaci s Windows jim stačí miniaturní ovladače. WGF 2.0 podporuje specifikaci ShaderModel 4.0. Windows Vista také podporují OpenGL verze 1.4 - ovšem pouze WGF 1.0, neboli tzv. "Basic WGF". WGF 2.0 OpenGL vypouští (toho bohdá nebude, aby Microsot OpenGL podporoval), ovšem podpora ICD, tedy Installable Client Drivers (ovladače dodané výrobci grafických karet) zůstává, díky čemuž bude možné spouštět OpenGL dokonce v novějších verzích, například 2.0.

Windows Vista - Co v sobě ukrývají?

Pokud jste někdy viděli screenshot z Windows Vista (případně originál), určitě víte, že uživatelské rozhraní, neboli GUI se radikálně změnilo. Díky tomu, že se zde objevují dynamické stíny, dynamická průhlednost a 3D prvky muselo dojít také ke změně vykreslování grafického prostředí systému. Toto bylo ve Windows XP velmi pomalé, neboť systém nepředpočítával data - zjistil, co potřebuje zobrazit, poslal to k výpočtu a následně zobrazil. Pokud byl výpočet složitý, trvalo zobrazení velmi dlouho, resp. pokud jste rychle hýbali oknem po ploše, systém nestíhal počítat stíny a obraz se sekal. Proto Windows Vista předpočítávají - vědí, co budou potřebovat zobrazit, pošlou to k výpočtu a uloží do tzv. back bufferu. Ve chvíli, kdy jsou data potřeba, jsou přesunuta do tzv. front bufferu a mohou být rovnou vykreslena. O vykreslování GUI se stará DWM (Desktop Windows Manager). DWM vytváří tři nezávislé vrstvy (WPF, WGF/DirectX, GDI), káždá s vlastním povrchem. DWM tyto povrchy následně skládá a zobrazuje. Vlastní vrstvu pak mají ještě fullscreenové aplikace, které si tak mohou vynutit exkluzivní přístup k zobrazovacímu výstupu. Takovou aplikací je například hra nebo Windows Media Player přepnutý do celoobrazovkového módu. Výhody exkluzivního přístupu se projeví především pokud máte dva panely, na kterých chcete zobrazovat rozdílné věci. Na prvním můžete zobrazovat systém, na druhém fullscreen aplikace. Pokud máte jediný panel a máte spuštěnou aplikaci ve fullscreen módu, DWM se může vypnout, aby šetřil systémovými prostředky.

Windows Vista - Co v sobě ukrývají?

Vzhledem k tomu, že samotné GUI je ve své podstatě 3D aplikací, je kladen velký nárok na grafický hardware. Ve Windows XP však bylo nemožné, aby se míchaly výpočty dvou 3D aplikací - každá měla výhradní přístup ke grafickému čipu a jinou 3D aplikaci k němu nepustila. Ve Windows Vista však existuje podpora virtualizace. To znamená, že hned několik 3D aplikací se může střídat v přístupu ke grafickému čipu. Plánovač rozvrhne přístup jednotlivých aplikací a výpočet dat. WGF ve verzi 2.0 jde ještě dál - s daty umí pracovat na kontextové úrovni pomocí paměťového správce. Vzhledem k tomu, že každé okno je ve Windows Vista 3D vrstvou, může dojít k tomu, že grafická karta nebude mít dostatek paměti. V tu chvíli přichází na řadu WGF 2.0, které pošle data, která by byla zahozena, do virtuální paměti, tedy do RAM (aneb TurboCache nebo HyperMemory v podání Microsoftu, bez HW podpory). Tato funkce plynule poběží spíše na systémech se sběrnicí PCI-Express, která je pro obousměrnou komunikaci uzpůsobena lépe než AGP, ale i tak se díky tomuto kroku brzy dočkáme PCI-Express x32 slotů (pro jistotu, že :-). Další výhodou virtualizace je, že jednotlivé 3D povrchy mohou data uložená do bufferu sdílet.

V předchozích odstavcích jsem použil málo známou zkratku GDI. GDI je aplikace, která se ve Windows Vista stará o zobrazení uživatelského rozhraní, tedy Aero Glass. Mezi její vymoženosti se řadí zobrazování v rozlišení 120 dpi. To je koncipováno tak, že se staví na klasickém 96dpi rozlišení a jsou vytvořeny tzv. virtuální pixely, které umožní zobrazení ve s vyšším dpi. Vlastní uživatelské rozhraní se skládá ze čtyř vrstev, které se liší vzhledem, efekty a náročností na hardware:

Windows Vista - Co v sobě ukrývají?
  • Classic - vzhled Windows 2000
  • To Go - odlehčená verze Aera, vzhled Windows Vista, ale bez efektů
  • Aero Express - odlehčená verze Aera s efekty
  • Aero Glass - neočesaný vzhled Aero, využívá PixelShaderu

Jak vidíte na snímku z konference WinHEC, první dvě vrstvy pracují se starým Display Window Managerem a na jejich zobrazení stačí WDM z Windows XP. Na zobrazení Aera musíte používat WDDM z Windows Vista. Jen tak pro zajímavost - zobrazení uživatelského rozhraní Windows Vista znamená přenos 2 GB grafických dat za sekundu, což znamená zhruba 100fps.

Sečteno podtrženo, WGF 2.0 by mělo dát grafickým kartám větší prostor pro vykonávání grafických operací bez zásahu procesoru, přináší podporu programovatelných Vertex, Pixel i Geometry shaderů.

Windows Vista - Co v sobě ukrývají?

WCF

WCF a WF již nejsou z pohledu běžného uživatele zcela jednoduché k pochopení a jsou zajímavé spíše pro programátory. WCF neboli Windows Communication Foundation nejspíše znáte pod pojmem Indigo. Jedná se o unifikovaný programovací model, který obsahuje runtime přizpůsobený pro přenos zpráv mezi programy pro správu sítě - službami. Je založený na skriptovacím jazyku WSDL a slouží k programovaní WebServices. Díky této technologii má systém informace nejen o službě samotné, ale také o operacích, které služba provádí a o datech, která služba přijímá/odesílá. Novinkou WCF je tzv. Service Endpoint, který je nástavbou na výše zmíněné informace - obsahuje adresu klienta a informace o způsobu komunikace mezi službou a klientem.

WF

Pod zkratkou WF se skrývá technologie Windows Workflow Foundation. Opět se jedná o programovací model, který tentokráte umožňuje definovat a spravovat workflow. Workflow je samozřejmě možné definovat objektově pomocí XML v rámci jazyka XAML, ale také ostatními jazyky z rodiny .NET jako například C#. Vývojáři mohou do workflow zahrnout aktivity specifické pro jejich doménu, o spouštění jednotlivých workflow se poté stará engine zahrnutá do WF.

WCS

Pod zkratkou WCS se skrývá technologie Windows CardSpace, kterou možná znáte také pod označením InfoCard. Jedná se o komponentu frameworku WinFX, která by se dala nazvát správcem identit systému Windows. Jistě znáte správce hesel v rámci Internet Explorer 6. InfoCard je takovou "vyšší dívčí". Uchovává zabezpečené digitální identity a uživateli poskytuje unifikované rozhraní pro výběr identity, například během přihlašování na web. Je tedy implementována do Windows Vista jako takových a jejich služeb využívá také Internet Explorer 7+. InfoCrad tedy v rámci systému vytvoří základní vrstvu, tzv. Identity Metasystem a dále vytvoří ještě jednu vrstvu, speciálně pro internet.

Každá identita je uchována jako "informační karta", která je v systému uložena jako digitálně podepsaný XML dokument. Právě v rámci vrstvy pro internet se používají informační karty, které "podepisuje" sám uživatel (správce hesel). WCS je postaven na Web Services Protocol Stack a otevřených XML technologiích jako WS-Security, WS-Trust, WS-MetadataExchange a WS-SecurityPolicy. WCS se tak stává protivníkem technologií jako YADIS nebo Liberty Alliance, konkurencí je také Higgins trust framework z února 2006 (IBM, Novell).

Odložené technologie, aneb WinFS, MSH a podpora EFI

Aneb co ve Windows Vista být mělo, není a dost možná ani nebude. Stěžejní technologií obsaženou ve Windows Vista měl být také nový souborový systém WinFS neboli Windows File System. Jedná se souborový systém, který používá například SQL Server 2005. Vševědoucí Wikipedia WinFS vysvětluje jako "kombinaci relační databáze a vysokoúrovňového souborového systému", což je velmi přesné, oním vysokoúrovňovým souborovým systémem má být NTFS. 

Proč je NTFS samo o sobě nevyhovující a čím se od něj WinFS má lišit? Jde o to, že v současné době jsou soubory na disk zapisovány pouze ve formě bitů, takže jim rozumí pouze a jedině aplikace, která je zapsala, případně aplikace za tímto účelem navržená. Vlastní operační systém data nechápe a jediné informace, které o souboru má, je jeho jméno a umístění ve složkách. Pokud tedy hledáte nějaký soubor, můžete hledat pouze pomocí jeho názvu. Pokud hledáte soubor podle informací, které jsou v něm uloženy, musí být tyto informace uloženy jako čistý text, který je čitelný při editaci souboru v notepadu. Operační systém pak zdlouhavě prohledává kompletní obsah všech souborů a hledá vámi požadované informace.

O trochu lepší je to například s multimediálními soubory. Například MP3 soubor obsahuje ID3 tag a systém je přizpůsoben tomu, aby tyto metatagy přečetl. Proto můžete hledat například podle jména interpreta nebo názvu alba. O trochu dále jsou pak vyhledávací nástroje, tzv. Desktop Search (např. Google DS nebo MSN DS), které postupně indexují obsah disku a vytvářejí si vlastní databázi obsahující informace o obsahu jednotlivých souborů. Stejně (resp. spíš podobně, tupěji) pracovalo klasické vyhledávání ve Windows XP, stejně (stejně tupě jako DS) pracuje vyhledávání, kterým jsou protkané Windows Vista. Databáze těchto aplikací ale mají opět specifický formát, čitelný pouze pro danou aplikaci.

Vizí Microsoftu je však vytvoření relační databáze v rámci souborového systému. Tato databáze bude obsahovatinformace o obsahu souboru v unifikované podobě, takže teoreticky každý program bude na základě informací z této databáze schopen uživateli sdělit informace o konkrétním souboru. Vyhledávání souborů tak bude otázkou vteřiny, fulltextové vyhledávání nebude nejmenší problém.

Zní to jako sen, ale bohužel, tento sen se postupně rozplynul. Původním plánem Microsoftu bylo zahrnout WinFS do Windows Vista. Někdy v srpnu roku 2004 Microsoft WinFS odložil a prohlásil jej jako technologii, která bude do Windows Vista implementována společně se ServicePackem 1. Později ale Microsoft upustil i od tohoto kroku a osud WinFS v rámci Windows Vista je ve hvězdách.

MSH

MSH je zkratka pro Microsoft Shell, neboli příkazový řádek. Ne, neděste se, příkazový řádek zůstává součástí Windows Vista a je obsažen i v betaverzi. Jedná se však pouze o jeho část, ani finální verze nebude obsahovat kompletní MSH. Microsoft jej zřejmě doplní pomocí ServicePacku 1.

EFI

EFI je nové IO rozhraní na základních deskách, které umožňuje komunikaci mezi čipovou sadou a operačním systémem, nahrazuje tedy BIOS. EFI umožňuje daleko větší možnosti nastavení počítače pomocí operačního systému. Nyní se při instalaci musí operační systém přizpůsobit konkrétnímu BIOSu a pokud vyměníte základní desku, musíte reinstalovat celý operační systém. EFI je universální a je ovládána operačním systémem, tudíž po výměně zakladní desky nemusíte systém reinstalovat. (Více o EFI v aktualitě Lukáše Fialy.) Microsoft se však rozhodl, že Windows Vista EFI nativně podporovat nebude, a tak se použití této technologie opět oddálilo. Důvod je možná prostý - výměnou základní desky se dnes změní 5 z 10 parametrů, na které hledí aktivace systému Windows, přičemž povoleny jsou tři konfigurační změny v HW. Výměna základní desky by tedy měla znamenat koupi nové kopie operačního systému, což se Microsoftu poměrně hodí.



 
Komentáře naleznete na konci poslední kapitoly.
685 čtenářů navrhlo autorovi prémii: 320.9Kč Prémie tohoto článku jsou již uzavřené, děkujeme za váš zájem.
Tento web používá k poskytování služeb soubory cookie.