Co virtualizace je a co virtualizace není

Když počítač či operační systém využívá softwaru k vykonání čehokoli, co normálně nezvládne, máme tendenci t...


Když počítač či operační systém využívá softwaru k vykonání čehokoli, co
normálně nezvládne, máme tendenci takovou technologii opatřit nálepkou
"virtualizace". Inu, nevěřte všemu, co čtete. Podívejme se na to, co
virtualizace opravdu je a co ne. Systémová virtualizace ruší vlastnická práva
operačního systému a znemožňuje mu odmítnout sdílení svého vlastnictví.
Vlastnictvím rozumíme hardwarové zdroje, CPU cykly, alokované jednotky úložného
prostoru, I/O porty, a dokonce i monitor, myš a klávesnici. Operační systémy
tedy předpokládají exkluzivní přístupová práva k hardwaru systému, žalostný to
pozůstatek dinosauřích OS typu CP/M a MS-DOS. Opravdová systémová virtualizace,
ztělesněná známými produkty od Microsoftu a VMware, odtrhává nenechavé ruce OS
ze systémového hardwaru tím, že zkonstruuje jeden či více přesvědčivých obrazů
kompletního počítačového systému. Operační systémy jsou oklamány a přesvědčeny,
že mají celý počítač jen pro sebe. Virtualizace úložného prostoru spravuje a
seskupuje vzdálená úložiště, přičemž předstírá místní přímé rozhraní (například
SCSI), což OS dává uspokojivý pocit vlastnictví zdroje, k němuž by neměl mít
přístup. Virtualizaci úložného prostoru lze vykonat hardwarovou i softwarovou
cestou. Systémovou virtualizaci lze také vykonat hardwarově, ale tato vlastnost
se do světa PC teprve zrodila a je stále relativně primitivní. Nyní se
podívejme na technologie, které nejsou virtualizací. Kdyby byla nesprávná
terminologie zločinem, zasluhoval by program Microsoftu, Virtual PC pro
Macintosh, trest smrti. Jedná se o emulátor, který vytváří velmi pomalou
softwarovou x86 CPU na PowerPC systémech a posléze emuluje slaboučký x86 osobní
počítač. Samozřejmě, že se zde částečně dostane ke slovu i virtualizace, v
závislosti na produktu se, dle mé zkušenosti, pohybuje někde mezi 25-40
procenty. Virtual PC 7.0.2. běžící na Power Macu s 2GHz PowerPC procesorem
nechá spuštěné Windows XP hlásit, že fungují na 533MHz x86 počítači. Jednoduchá
logika říká: emulace není virtualizace. Rosetta od Apple, standardní vybavení
OS X pro Macy od Intelu, je další technologií, která není virtualizací. Rosetta
vezme OS X aplikace zkompilované pro procesory PowerPC a spustí je na strojích
Macintosh s x86 jádrem. Od virtualizace se technologie liší jen tím, že musí
překládat instrukce z PowerPC stroje pro počítač s x86 CPU. Vše ostatní je
skutečné; není třeba emulace ani spouštění několikanásobných vrstev softwaru.
Kdykoli za běhu Rosetty vyšle OS X PowerPC aplikace požadavek na systémové
zdroje, je ihned po translaci z PowerPC do x86 vyslán dále, přímo do OS X. Ve
výsledku to obnáší, že Rosetta na OS X již nemusí vysílat další požadavky.
Aplikace pro Mac potom netuší, že je jejich CPU jen přeludem a ani se o to
nemusí starat. Emulace a překládání instrukcí jsou platná řešení problémů, na
něž virtualizace nemůže. Z takových problémů jmenujme například překonávání
hranic v architektuře systémů. Jejich výkon, požadavky na systémové prostředky
a budoucí omezení je činí nedostačujícími pro každodenní operace. Virtualizace
je naopak bezpečná, adaptabilní a neustále se zrychlující. To je to, co
potřebujete.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.