Windows 8 ve znamení hromadné virtualizace (a cloudu?)
Kapitoly článků
Pokusíme se prokousat představami vývojářů v Microsoftu o tom, jak udělat ve Windows jednou pro vždy pořádek, tedy alespoň do určité míry (v něčem takovém, jako je Windows, dokonalý pořádek snad ani udělat nelze ;-). K tomu poslouží jednak dva obrázky z dubnové prezentace, které si vypůjčila Mary-Jo Foley pro své věštění z klacíků (o těch ale až později), plus blogový zápisek jistého Francouze „Charona“ (Jérôme Bosch) ze serveru Ma-config.com, který se už v červenci zaobíral třetí verzí virtualizačního hypervisoru Hyper-V v souvislosti právě s Windows 8.
Microsoft již dříve hovořil o tom, že základem Windows 8 by měla být virtualizace. „Virtuální mašiny, všude kam se podíváš“, dalo by se říci. A to tak, že o nich uživatel nakonec ani nebude vědět. O to se má postarat právě třetí verze (nebo generace, chcete-li) Hyper-V, která poběží jen na Windows 8 (a samozřejmě od toho odvozeného serveru). Má to svůj důvod, který možná pochopíte z dalších odstavců.
Magickou přísadou bude několik málo desítek megabajtů, které už asi znáte pod označením „MinWin“. To je kus kódu, který je už dnes součástí Windows 7, jenže zde ještě jeho potenciál zdaleka není využit. Rozvrstvěme si na chvilku fungování systému na několik úrovní: hardware, jádro, ovladače, aplikační rozhraní, aplikace, atd…
V ideálním systému by měla být vrstva (pojmenujme ji třeba N) nezávislá na té, která ji následně využívá (N+1), jenže momentálně Windows připomíná spíše „misku plnou nudlí“, jak situaci trefně popsal Bernard Ourghanlian, technologický šéf přes bezpečnost z francouzské pobočky Microsoftu.V současné době je ve Windows vrstva N závislá i na N−1, systém je až nezdravě protkán závislostmi jedné části na druhé, což je mimochodem důvod, proč je třeba takový problém zcela „vykopat“ ze systému Internet Explorer (ačkoli jde o aplikaci, tak trochu je na něm závislé i jádro systému, což je prostě z koncepčního hlediska špatně). Podle Bernarda Ourghanliana by měl být systém Windows 8 postaven tak, že by z něj skutečně mělo jít beze zbytku Internet Explorer odstranit. (Mimochodem to, jak lze dnes odstranit Internet Explorer 8 z Windows 7, je spíše ukázka šalamounství, neboť vše, co dělá Internet Explorer Internet Explorerem, se tímto ze systému stejně neodstraní, dokonce bychom řekli, že v takových Windows Fundamentals for Legacy PCs se dá hovořit o odstranění Internet Exploreru více hloubkově – také je to ale potom znát, když přestanou fungovat i věci, které ve Windows 7 po odstranění IE stále fungují, ale to už odbočujeme.)
MinWin má hrát ve „Windows 8“ úlohu jakási „partition“ – nyní nikoli ve smyslu diskového oddílu, ale spíše oddělené softwarové části, která poběží ve virtuálním stroji. Na MinWin pak poběží další vrstvy. Něco však poběží ještě pod MinWin: bude to Hypervisor – zřejmě, Hyper-V v3, jehož úlohou bude poskytovat rozhraní mezi hardwarem a MinWin. Ovladače hardwaru však poběží až v MinWin, sám Hypervisor nebude mít ovladač žádný. Podle hrubého odhadu by mohl mít zdrojový kód Hypervisoru takových 50 tisíc řádek. Zabezpečení HyperVisoru před něčím, co by se dalo nazvat „hyper rootkit“, by případně obstarával TPM čip (Trusted Platform Module) na základní desce (pravda, dnes jich na deskách a ani v notebookách moc nenajdete, to spíše v těch z „business“ kategorie, ale snad to bude lepší).
Pokud by vás zajímal smysl tohoto vrstvení, pak odpověď je poměrně logická: zachování kompatibility aplikací při přechodu z jedné verze Windows na další. A nejen to, mohlo by klidně jít i o zachování uživatelského profilu a dokonce celého operačního systému při přechodu z jednoho PC na druhý. Jak aplikace, tak celý operační systém totiž nakonec také mohou běhat v samostatných virtuálních strojích. Dokonce se to dá vyřešit tak, že aplikace bude mít sama nějakou informaci o tom, pro jaký systém byla napsána. A takové prostředí se pro ni „navirtualizuje“. Možná vám to něco připomíná … ano, FreeBSD má něco takového již nějaký ten pátek implementováno v podobě FreeBSD jail.
Ve finále by bylo možné nejen oddělit od jádra systému Internet Explorer, ale dokonce i samotné GUI, tedy grafické prostředí (to je již od Windows NT 4.0 svázáno s jádrem, což tehdy umožnilo velmi rychlé zobrazování a uživatelskou odezvu). Tím se vracíme zpět k povídání Mary-Jo Foley o dubnové prezentaci Microsoftu, která má název „Desktop as a Service“ – „Plocha jako služba“. Tu se nám dostává do hry něco, s čím pravděpodobně nebude spousta z vás – technicky zdatnějších uživatelů až tak úplně souhlasit. Tím něčím je slovo, které se jako „mrak“ (ani „obloha“ nebo něco podobného) prostě nepřekládá: Cloud.