Přejít k hlavnímu obsahu

Moderní srdce Windows 8

Moderní srdce Windows 8

Nové rozhraní WinRT umožňuje kompatibilitu Windows 8 s architekturou ARM a dělá z nich podstatně stabilnější a bezpečnější operační systém.
    CHRISTOPH SCHMIDT, RADEK KUBEŠ  

Stejně jako Microsoft přepracoval pracovní plochu nových Windows 8, věnoval se i zásadním inovacím pod kapotou operačního systému. Přestože jsou i nadále podporovány klasické desktopové aplikace, vznikla celá nová kategorie programů, kterými jsou zjednodušené aplikace, plynule pracující i na výkonově slabších tabletech. Právě pro ně vyvinul Microsoft nové rozhraní WinRT. Toto označení pro operační prostředí však nezaměňujme s názvem operačního systému Windows RT, určeného pro tablety s ARM procesory, který, až na některé výjimky, dokáže pracovat pouze s aplikacemi s dlaždicovým rozhraním. Běžné desktopové programy je pak možné spouštět pouze pod verzemi Windows 8, určenými pro klasickou PC architekturu. Rozhraní WinRT je však srdcem obou verzí Windows 8, které spouští aplikace. K tomu ještě napravuje historické slabiny Windows v podobě náchylnosti k virové nákaze a problémů se stabilitou.

Přísný režim cestou k efektivitě

Desktopové programy jsou nejčastěji napsány v programovacích jazycích C nebo C++, které mají blízko k hardwaru a přímo přistupují k rozhraním operačního systému. To je sice výhodné pro maximální výkon programů, avšak už ne tolik pro efektivitu, bezpečnost a stabilitu. Pokud je spuštěno více desktopových programů, mohou Windows systémové zdroje spravovat pouze částečně. A co hůř, pokud je jeden z programů napadený malwarem, může ovlivnit a nakazit i ostatní procesy. Chyba v programu může například vyčerpat kapacitu operační paměti a přivodit kolaps celého systému. V neposlední řadě je navíc vývoj programů v jazyce C velmi náročný, jelikož i ty nejjednodušší funkce musejí být vystavěny pokaždé znovu. I to vede ke zmatkům ve vzhledu různých programů pro Windows.
Všechny tyto problémy řeší nový způsob, jakým WinRT zachází s programy. V operačním prostředí běží pouze nové aplikace s dlaždicemi, které na rozdíl od klasických aplikací existují v bitovém kódu. Až při jejich spuštění je WinRT přeloží do strojového kódu a vykoná jejich instrukce. Díky tomu přebírá operační prostředí plnou kontrolu nad systémovými zdroji a může je optimálně přidělovat jednotlivým aplikacím. Tak lze například udržet reakční časy dotykového rozhraní na optimálních hodnotách.
Přestože podobný koncept zkoušel Microsoft již u prostředí . NET, nepodařilo se mu toto rozhraní zcela optimalizovat. WinRT si proto bere inspiraci z koncepce COM (Component Object Model), která byla uvedena již ve Windows 3.1. Jedná se o standard, na základě kterého spolu komunikují jednotlivé softwarové objekty, jako jsou programy, jejich součásti a DLL knihovny. Přitom nezáleží na tom, v jakých jazycích jsou jednotlivé objekty napsány, a přesně definovaná rozhraní jsou nutná pouze pro vzájemnou výměnu dat.
Oproti původnímu modelu COM optimalizoval Microsoft u WinRT zejména efektivitu a kompatibilitu při použití nových programovacích jazyků. Nyní jsou objekty schopny rychleji se navzájem informovat o svých funkcích a rozhraních a WinRT má také jednotný formát metadat, která poskytují informace o každém objektu.
Díky těmto vylepšením v komunikaci mezi softwarovými objekty si nyní programátoři vystačí s menším množstvím kódu, který zprostředkovává komunikaci mezi jednotlivými komponentami aplikace a operačním systémem. Instrukce aplikací, naprogramovaných v některém z webových programovacích jazyků, jako je například JavaScript, provádí WinRT prostřednictvím Chakra enginu v Internet Exploreru, který překládá operace přímo do strojového kódu, aniž by byly interpretovány krok za krokem a následně vykonávány.
Jednotlivá rozhraní WinRT navíc pracují asynchronně, požadavky na vstupy a výstupy se tedy zpracovávají samostatně a nezávisle. Pokud si například uživatel mapové aplikace posune výřez mapy na displeji, postarají se asynchronní rozhraní WinRT o to, aby byl posun plynulý a bez zpoždění, zatímco je nahráván a zobrazován další obsah mapy z internetu.

Bezpečnostní koncept Androidu

Koncept zabezpečení ve WinRT se podobá řešení v Androidu. Aplikace běží v izolovaném prostředí (sandboxu) a k systémovým zdrojům či k jiným aplikacím mohou přistupovat pouze za přísných podmínek. Právě to je například důvodem poměrně omezené nabídky funkcí dlaždicové varianty prohlížeče Internet Explorer. I tato aplikace běží v sandboxu, což nejen znemožňuje použití plug-inů, jako je Flash, ale komplikuje to i výměnu záložek s desktopovou verzí Internet Exploreru.
V neposlední řadě umožňuje WinRT také spouštění stejných dlaždicových aplikací na zcela odlišných architekturách procesorů Intel x86 a ARM.
     autor@chip.cz


JAK PRACUJÍ APLIKACE VE WINDOWS 8
Již od svého vzniku se Windows potýkají s jedním zásadním problémem: desktopové aplikace pracují prakticky nekontrolovaně, což má za následek nejen nestabilitu, ale i zranitelnost. Tento problém řeší až nové rozhraní WinRT. Ukážeme vám, jak nová Windows 8 pro procesory s architekturou x86 i Windows RT pro procesory ARM spouštějí moderní a bezpečné aplikace (fialová část schématu) i starší desktopové programy (modrá).
APLIKACE/ PROGRAMY
Desktopové programy nekontrolovaně spouští kód a přímo obsluhují systémové zdroje. To vytváří bezpečnostní mezery a ohrožuje stabilitu. Oproti tomu rozhraní WinRT systematicky řídí provádění aplikací, což vede k větší bezpečnosti, stabilitě i rychlosti.
PROGRAMOVACÍ JAZYKY
WinRT podporuje moderní programovací jazyky, jako je C#. V něm naprogramované aplikace jsou při spuštění kontrolovány na úrovni strojového kódu, stejně jako v případě JavaScript enginu Chakra. Konkrétní jazyky pro uživatelské prostředí (XAML) a funkce (C#) se starají o jednotný vzhled aplikací. Staromódní programy v jazyce C jsou složité jak pro naprogramování, tak pro řízení.
OPERAČNÍ PROSTŘEDÍ
WinRT spouští každou aplikaci ve vyhrazeném prostoru operační paměti, aby její kód nemohl poškodit operační systém nebo ostatní aplikace. To pomáhá i efektivnímu využití dostupných systémových zdrojů a řízení priorit - jako je například zachování plynulosti dotykového ovládání.
SYSTÉMOVÁ ROZHRANÍ
Na rozdíl od desktopových programů využívá WinRT pouze moderní rozhraní. Rozhraní jádra jsou připravena poskytovat rychlý přístup k datům a síťovým zdrojům díky výkonným diskům typu SSD a rychlým síťovým rozhraním. Media Foundation, nahrazující rozhraní DirectShow, se vyznačuje vysokou efektivitou a stabilitou. Nástupce grafického rozhraní nese název Direct2D a umožňuje hardwarovou akceleraci grafického výstupu, podobně jako nový Direct3D 10/11.

 

Dokumenty ke stažení