Úvodem malý výlet do historie. V 80. letech získala naše univerzita péčí ministerstva školství střediskový počítač EC1027 české výroby, který byl ovšem nápodobou více než 10 let starého IBM/370. Současně s přidělením výpočetního přístroje vyjádřilo ministerstvo přání, aby byl na počítači provozován operační systém DOS4, rovněž české výroby. Tento operační systém sice rovněž vycházel z "ideového vzoru" IBM, nicméně se mu dosti vzdálil. Na dosluhujícím počítači předchozí generace EC1033, provozoval Ústav výpočetní techniky ekonomické agendy i vědeckotechnické výpočty pod dávkovým operačním systémem OS a bylo přirozeným požadavkem mít na novém prostředku dosavadní prostředí. Poučeným uživatelům naopak připadalo žádoucí provozovat na terminálech interaktivní operační systém CMS, umožňující podobný styl práce jako na tehdy nastupujících PC.
Řešení těchto protichůdných přání se nakonec našlo v systému virtuálních strojů SVM alias VM/370. Na hardware počítače se nasadil virtualizační program CP, který na softwarové úrovni vytvářel libovolné množství virtuálních počítačů, z nichž každý byl v podstatě kopií výchozího stroje. Na základě své konfigurace CP umožňoval "sekat výpočetní systém jako turecký med" na části stejné struktury, ale rozdílné velikosti. V jednotlivých virtuálních strojích pak současně fungovaly výše uvedené operační systémy OS/EC, DOS4,CMS, DOS/IBM i pokusné programy psané přímo pro holý počítač.
Střediskové počítače vyhynuly (alespoň v našem regionu) a na jejich místo nastoupily počítače osobní. I u nich však začala vznikat potřeba současného použití programů vytvořených pro různá systémová prostředí.
Poněvadž je mi bližší operační systém unixového typu - např. Linux, budu se více věnovat jemu. Pro vyváženost však chci zmínit síťové služby protokolu TCP/IP, např. telnet a emulátory unixového prostředí X Window pro obecně rozšířené operační systémy Microsoftu, umožňující (síťové) použití unixových aplikací na obrazovkách MS Windows 98 apod.
První pokusy o provoz MS kompatibilních aplikací na unixech vyústily v emulátor PC DOSu - DOSEMU. To je neprivilegovaný program dovolující zavedení vhodné firemní nebo i volné verze systému DOS a následné spuštění různých a často i netriviálních programů, např. databází. DOSEMU však neumí všechny programy a před okenními systémy a aplikacemi kapituluje.
Přístup z jiné kapsy zvolil WINE, jehož jméno je zkratkou tvrzení, že není emulátorem. Tento produkt se rovněž na uživatelské úrovni snaží o vytvoření rozhraní, převádějícího žádosti o služby systému typu Windows 98 na služby prostředí X Window. V této situaci má jít přímo spouštět aplikace pro MS Windows v Linuxu.Přesto, že dobrovolníci pracují na WINE už řadu let, rozhraní není kompletní a mezi fungujícími aplikacemi jsou spíše hříčky typu Solitaire (pasiáns) než programy ze sady Office.
A tak po třech desítkách let od vzniku systému VM/370 se v roce 1999 konečně objevuje ve světě PC první skutečně funkční implementace systému virtuálních strojů - VMWARE. Patrnou změnou modelu je skutečnost, že pro usnadnění tvorby a redukci objemu kódu není virtualizační program psán pro holý hardware, nýbrž existuje ve dvou variantách, a to na instalaci do Linuxu a do Windows NT & Windows 2000. Před přáteli volně šiřitelného software nechci dlouho tajit, že jde o komerční a placený produkt. Podrobnosti uvedu v závěru článku.
VMWARE vyžaduje standardní PC s procesorem Pentium II 266 Mhz a vyšším, minimálně 96 MB paměti, ale raději více, do 10 MB diskového prostoru pro sebe a ovšem dostatek diskového místa pro operační systémy pro virtuální stroje. Podporuje ethernetové a zatím velmi nedostatečně i zvukové karty.
Osobně jsem zkoušel a používám pouze verzi pro Linux (konkrétně verzi 1.1.2 z listopadu 1999) a proto budu psát pouze o ní. Připomínám, že se zde jedná o tzv. hostitelský operační systém, v jednotlivých virtuálních strojích pak samozřejmě běží leccos. Základ distribuce tvoří jeden soubor, který je buď ve formátu rpm pro RedHat, nebo jako komprimovaný archiv - tgz. Instalační soubory velikosti cca 3.5 MB (a mnoho dalších informací) jsou volně dosažitelné na adrese www.vmware.com. Pro oživení je však potřeba licence. Tvůrci ověřili použitelnost v distribucích RedHat 5 a 6, Caldera a SuSE, lze očekávat, že pokročilejší uživatelé uspějí i v dalších. Podmínkou je modulární jádro 2.0.32 a vyšší nebo řady 2.2.x a X-server Xfree 3.3.4 a vyšší.
Moje instalace na RedHat 6.1 proběhla naprosto hladce. Po rozbalení programem rpm, spuštění konfiguračního skriptu a uložení licence bylo možné startovat první virtuální stroj.
Bez ohledu na osazení reálného PC různými diskovými řadiči (IDE, SCSI), různými grafickými, síťovými, zvukovými a jinými kartami je sestava každého virtuálního stroje, a to i ve verzi pro Windows NT/2000, stejná. Tvoří ji čtyři IDE porty osaditelné virtuálními disky nebo CD-ROM mechanikami, grafická SVGA karta, ethernetová karta AMD Pcnet, zatím jen částečně implementovaná zvuková karta SB16, disketová mechanika, myš typu PS/2, dva tiskárenské porty, čtyři sériové porty a virtuální Phoenix BIOS. Procesor je stejného typu jako u reálného stroje.
Virtuální stroj se jeví jako okno na obrazovce X Window systému. Startuje se spuštěním programu vmware s případným uvedením konfiguračního souboru příslušného virtuálního stroje. Poprvé se musí tento soubor vytvořit a vmware nabízí konfiguračního průvodce pro začátečníky nebo konfigurační editor pro pokročilé. V rámci tohoto procesu se přiřadí virtuálním portům zařízení reálného počítače nebo soubory hostitelského operačního systému. Zajímavé je to zejména u virtuálních disků a síťové karty.
Každému ze čtyř diskových portů (E)IDE lze přidělit soubor nebo reálný disk. U souboru je nutné předem zadat jeho maximální možnou velikost, která však nemůže přesáhnout 2 GB. Nainstalujeme-li na takový disk v souboru např. Windows98, získáme po přenesení souboru na vmware na jiném počítači snadno a rychle identickou a funkční kopii W98 bez nové instalace. Alternativně lze k virtuálnímu diskovému portu připojit celý reálný disk. Tento způsob vyžaduje privilegovaný přístup (root) a při současném použití z hostitelského a virtuálního operačního systému hrozí zničení dat. Z nedostatečné dokumentace není patrné, zda lze též připojit pouze konkrétní diskovou oblast, ale mně se to nepodařilo. Příjemná je možnost volby režimu přístupu k virtuálnímu disku, bez ohledu, zda je tvořen souborem či reálným diskem. Je buď persistentní, kdy jsou všechny zápisy hned realizovány, nebo nepersistentní, kde se skutečný obsah disku nemění a změny jsou žurnálovány ve zvláštních souborech, které jsou po skončení práce zahozeny. Třetí varianta umožňujepřed vypnutím virtuálního stroje rozhodnout, zda změny na disk promítnout nebo skartovat.
Virtuální síťová karta nabízí dva režimy. Může být spojena s reálnou síťovou kartou a konfigurována na novou platnou IP adresu ze sítě, v níž je zapojen reálný počítač a je pak dosažitelná i z vnějšího světa. Druhý režim lze použít i v případě, že reálný počítač, žádnou síťovou kartu nemá. Vmware vytvoří virtuální ethernetový rozbočovač (hub) mezi hostitelským operačním systémem a systémy ve virtuálních strojích. Těmto virtuálním síťovým rozhraním lze pak přiřadit IP adresy z privátní sítě (např.192.168.1.0) a mohou sloužit pro vzájemnou komunikaci. Má-li PC síťové připojení, lze se z virtuálních strojů dostat ven pomocí překladu adres v hostitelském systému (maškarádou).
Konfiguraci virtuálního stroje je možné měnit v době, kdy není živý.
Do CD-ROM mechaniky založíme instalační médium, nastartujeme program vmware s příslušným konfiguračním souborem, čímž se otevře okno virtuálního stroje, a stiskneme virtuální vypínač. V okně se odehrává to, co obvykle probíhá při zapnutí počítače, včetně kontroly paměti a případného setupu virtuálního BIOSu. Všechny instalační obrazovky jsou identické s reálnými, pouze je patrné mírné až velmi podstatné zpomalení - podle velikosti paměti reálného stroje a operačního systému.Podle ústního podání trvá např. instalace W98 výrazně déle než u W95. Použití instalačních souborů z disků hostitelského systému reálně hrozí zničením dat a lze je doporučit pouze po důkladném poznání produktu.
Člověka zvyklého na jednom počítači střídat např. Linux a W98 napadne provozovat reálně nainstalované W98 ve virtuálním stroji pod Linuxem (a tedy souběžně s ním). To nejde snadno, neboť - jak už víme - typy reálných a virtuálních periferií se obvykle výrazně liší. Situace by měla být řešitelná nastavením různých hardwarových profilů W98. Nevím, nakolik je to obecné, ale v mém případě virtuální systém zřetelně snadněji poznával standardnější virtuální zařízení než v reálném případě, kdy občas bylo nutno po ovladačích pátrat.
Vlastní provoz po instalaci probíhá rovněž jako v reálu a i zpomalení je méně patrné. Produkt je však primárně určen pro kancelářské aplikace, pro náročné zejména třídimenzionální hry není použitelný. Okno virtuálního stroje se aktivuje pro vstup myší, jejíž kurzor v něm pak zůstane uvězněn. Uvolňuje se trojhmatem Ctrl+Alt+Esc. Do zvlášť podporovaných systémů, což jsou všechny typy MS Windows, DOS-6, FreeBSD aRedHat, SuSE a Caldera Linux, existuje navíc volitelná komponenta - Vmware Tools. To je sada ovladačů do virtuálního operačního systému, které optimalizují výkon a grafiku virtuálních systémů, umožňují přenos kusů textu mezi systémy (cut and paste) a osvobozují kurzor při jeho výstupu z okna.
K podporovaným OS lze přiřadit i další distribuce Linuxu, do nichž zkušený uživatel Vmware Tools rovněž nainstaluje. Z materiálů na webu se lze dočíst, že Novell Server a Solaris 7 pro Intel ve virtuálním stroji asi pojede, ale není podporován, SCO Unix asi nepojede a neuvažuje se o něm, zatímco OS/2 určitě nejde, ale snad se to zlepší.
Podle materiálů vznikla firma Vmware, Inc. v lednu 1998 a první verze softwaru byla k dispozici už v květnu 1999. Je to tedy mladý produkt, kterému ještě leccos chybí k dokonalosti a úplnosti. Vzhledem k tomu je až překvapivě stabilní. Jak už bylo řečeno, program je volně dostupný. Po registraci na webu získá zájemce 30-ti denní licenci na vyzkoušení. Cena jedné trvalé licence je 299$, což mi připadá poněkud přehnané. Naštěstí akademická cena 99$, v posledních materiálech označovaná jako student/hobbyist, je mnohem příhodnější.Licence je vázaná na typ instalace (do Linuxu nebo do Windows NT/2000) a v opačné variantě nemá fungovat. Verze produktu je značena třemi čísly, např. 1.1.2, přičemž drobné a střední inovace provázené změnou na druhé a třetí pozici jsou zaplaceny v rámci původní licence, ale zásadně obměněnou verzi bude prý nutné koupit znovu.
Vmware se jistě nehodí pro každého, už vzhledem k ceně licence, nutné paměti, nákladům na další operační systémy a jejich diskové kapacity atd. Jsou však konstelace, kdy může přinést úspory i zkvalitnění práce, a navíc jak se praví v jedné reklamě na cosi úplně jiného, je krásný. Pro člověka, který se dlouho zabývá operačními systémy, je to opravdu radost.
My optimisté a milovníci volně šiřitelného softwaru můžeme doufat, že brzo vznikne i nekomerční varianta systému virtuálních strojů pro PC, např. z okruhu www.freemware.org.