A hardver emuláció tipikusan hatékonyság-romlást szokott jelenteni, mert olyan processzor működését szimulálja, aminek az architektúrája gyökeresen eltér a szimulációt megvalósító processzorétól. Mi lehet hát vonzó az emulátor technológiában a Microsoft számára? Az emulátorokkal azonban olyan programok is tovább használhatók, amelyekhez készült hardverek már kimentek a divatból.
C64, Amiga, Atari és más álmok
Az emulátorokkal azonban olyan programok is tovább használhatók, amelyekhez készült hardverek már kimentek a divatból. Az egyik legnépszerűbb talán a Commodore 64, vagy a Commodore cég utolsó nagy dobásának számító Amiga emulátor, amelyekhez még ma is számtalan jó régi játékszoftver található az underground csatornákon. A nagy szoftvergyártó óriást azonban aligha ez a piaci szektor izgatja.
Szerver és kliensoldali szoftver konszolidáció
Tény, hogy a hardveripar észtvesztő iramban növeli, mind a szerverek, mind a kliensgépek, mind a tároló eszközök kapacitását. Az alkalmazók már nem is tudnak olyan gépeket vagy alkatrészeket vásárolni, az esetleg lerobbanó, vagy egyéb okokból kidobott régi eszközeik helyett, amelyekre az azokon futó alkalmazások készültek. A konstrukciójuk sokszor magán viseli azokat a régi korlátokat, amelyeket az újabb generációjú gépek jobb erőforrásai már egyáltalán nem indokolnának. Ennél rosszabb, hogy rátelepednek az egész nagy erőforráshalmazra úgy, hogy mellettük más alkalmazások nem futhatnak.
Ez a hardver erőforrásokkal való hihetetlenül nagy pazarláshoz vezet. Ugyanakkor az alkalmazók már nem akarnak pénzt kidobni a régi alkalmazás teljes áttervezésére és aktualizálására. Olykor a generált adatsorok konzisztenciájának a pontos megtartása végett, mert azt nem akarják veszélyeztetni. Akadály lehet az is, hogy a rendszerterv vagy nem is volt, vagy elveszett, és már köddé vált a fejlesztő cég is, vagy a fejlesztő tűnt el reménytelenül. Marad tehát az, hogy az alkalmazást változatlanul használják, immár időtlen-idők óta, és egy gépet feláldoznak erre a célra.
Kézenfekvő volna, hogy a régi alkalmazások működtetésére létre kell hozni olyan szoftverkörnyezetet, ami szimulálja azt a gépet, amire eredetileg megírták (emulátor program). A PC-k alapja azonban elég stabil volt mindig is, mégpedig a bennük használt Intel processzorok miatt, valamint, hogy az egész ipar de fakto szabványként fogadta el az IBM hardver és szoftver specifikációit. Az ebből kialakult klóngyártó ipar teremtette meg a PC-k robbanásszerű elterjedését, és a szinte ma már egyeduralmi helyzetét. Ha az alap Intel, akkor mit kell emulálni?
Miért kell PC emuláció?
Talán C64-es programok talán már egyetlen vállalkozásnál sem töltenek be éles feldolgozói szerepet, jóllehet, a 80-as évek közepén Magyarországon még vállalati információs rendszereket készíttettek rájuk. Sőt. A SZÁMALK szakképző tanfolyamain több évfolyam kapott úgy diplomát, hogy Commodore Plus/4-eseken tartott gyakorlatokon tanulta a programozást. Tanulmányai folyamán multiprogramozott gépen soha nem dolgozhatott. A PC-korszak beköszöntével ezen némileg változtatott a XENIX bevetése az elit oktatásba, majd a UNIX alaptárgy bevezetése az összes programozói tanfolyamon.
Aztán az IBM és a Microsoft is elindult a multiprogramozott operációs rendszerek új generációjának a kifejlesztésére, megszülve a Microsoft Windows nyomán egy igazi PC-re írt multiprogramozott operációs rendszert, az OS/2-est. De, a két dudás nem fér meg egy csárdában effektus működött, az IBM farvizén közben 200 tonnás gorillává fejlődött Microsoft szakított jó sorsának a megalapozójával, és a Windows sikerén felbuzdulva saját lábra állt.
Most ott tartunk, hogy az ipari szabvánnyá nőtt IBM PC hatalmas populációban létezik, a történetét meghatározó jó pár alapszoftverrel a háttérben. Amelyek vázlatosan a következők: IBM PC-DOS, MS-DOS, Digital Research DR-DOS, Concurrent DOS (CDOS) és még pár, manapság 16-bites operációs rendszerként emlegetett alapszoftver, valamint az ezekre készült karakteres és bitgrafikus alkalmazói interfészek, mint a Windows 1.0, majd a legelterjedtebb Windows 3.1x, továbbá egy igazi 16-bites multiprogramozott operációs rendszer család, a PC-re adaptált UNIX-ok, mint a Microsoft, majd SCO XENIX, az Interactive UNIX (ami utoljára a SUN-hoz kerül, megalapozva a Solaris x86-os PC-változatot).
Aztán a 32-bites PC-korszak szereplői jöttek. Az OS/2-es fejlesztését az IBM erőltette még egy darabig, de a Windows NT 4.0-s megjelenése után gyakorlatilag feladta, hogy a Microsoft és IBM vonal megmaradjon kompatibilisnek. Bill Gates és csapata pedig gyakorlatilag teljesen elfoglalta az asztali gép piacot, és a nagy szériában gyártott szoftver vélhetően hatalmas profitjából elevezett a szerver operációs rendszerek kategóriájába is, x86 Intel architektúrájú gépekre.
Nem kis borsot tört az összes korábbi operációs rendszer gyártó orra alá a nyílt forráskódként lelkes amatőrökkel kifejlesztett Linux, ami végül funkcionálisan a UNIX klónjává fejlődött.
Oldalágként megemlíthető még a Novell NetWare hálózati operációs rendszer, ami a PC-ket bevezette a hálózati korszakba, és egyben az iparban megteremtette az elfogadható árú hálózati technológia terjedési lehetőségét, amit korábban a méregdrága árszínvonal akadályozott.
Egy biztos, a PC hardver jelenlegi architektúrája is fényévekre van az eredeti, ipari szabványnak kikiáltott IBM PC struktúrájától, de jóval kevésbé a hardver emuláció a fő problémája a régi PC alkalmazások mai használatának, mint a PC történelemben fölbukkant sokféle operációs rendszer. Lényegében egy kivétel van a hardvereket tekintve, és ez a Macintosh, amely az elit alkalmazók körében mindig is jelentős populációra tett szert. További nagy elterjedtséget tudott fölmutatni az oktatásban. Ezért a Mac emuláció, hatékony hardver emulációs problémaként is fölmerül, ha a különböző alkalmazásokat egyetlen platformra szeretnénk hozni. Ugyanakkor a sok PC-s alkalmazás használata is fölmerül a Mac platformokon. Mert azért a MacOS-nek is vannak változatai, a 10. pedig ráadásul gyökeresen más, a NeXT-ből adaptált UNIX.
A PC emulátor, tehát, részben a Mac hardveren történő Intel szimulációt, részben pedig a különböző operációs rendszerek környezetének a szimulációját jelenti. Egyben olyan multiprogramozási esetet kell megvalósítania, hogy ugyannak a hardvernek az erőforrásait több, egymással versenyben futó operációs rendszer között osztja szét. Ezt nevezik az operációs rendszerek elméletében virtuális gépnek.
A VirtualPC emulátor
Logikusan következik, hogy a VirtualPC ilyen virtuális gépkezelő szoftver. A vájt fülűek tudják, hogy az Intel 386-os család megjelenése óta az Intel CPU-k külön üzemmóddal támogatni is tudják ezt a technológiát. Ez a VM (Virtual Machine) üzemmód. A fő koncepciója az, hogy a nagy operatív tárban ki lehet jelölni egy kezdőpontot, ahonnan kezdve egy korábbi PC operatív tárának a működése szimulálható. Így egyazon tár több virtuális x86-os gép egymástól független működtetését teszi lehetővé. A többi erőforráson való osztozás természetesen még ettől nincs megoldva, de ez már operációs rendszerektől függő részleteket jelent. Nos, egy jó PC-emulátor itt kezdődik. Az ördög azért mindig a részletekben van. Nem véletlen, hogy a Connectix VirtualPC szoftvere már az 5-ödik fő verziónál tartott, amikor a Microsoft érdemesnek tartotta megszerezni, és beintegrálni a termékvonalába.
Természetesen, nemcsak a Connectix próbálkozott PC-emulátorok készítésével. Ilyen például a VMware, amely kipróbálásra le is tölthető a világhálóról. Most gondban lesz, mert a konkurencia ereje vitán felüli. Kérdés, mikor lesz megint egy monopolper a dologból.
Az első MS változat a Virtual PC 2004-es nevet kapta. Ez az asztali gépeken futó operációs rendszerek párhuzamos futását engedi meg, egyetlen közös PC-n, vagy esetleg később Mac gépen. Jelenleg a következő operációs rendszerek párhuzamos futásának a támogatása garantált: MS DOS 6.22, Windows 9x/ME, Windows NT 4.0, Windows 2000 és Windows XP, valamint az IBM OS/2-es Warp Server javított változata. UNIX és Linux tehát nincs a működő platformok között. Legalábbis egyelőre, meghagyva ezt a piaci szegmenst a VMware-nek. Van akinek inkább a Novell NetWare fog hiányozni (hozzátehető, reménytelenül). Nem lehet mindenkinek a kedvére lenni. A 2004-es változat sem tud mindent emulálni, főként az újabb technológiájú eszközökből. Illetve, a divatból a kliens gépeken kimenő olyan eszközökből, mint a SCSI csatolós eszközök. A virtuális gépeken futó operációs rendszereken speciális eszközmeghajtókat sem lehet telepíteni. A virtuális gépekről nem érhető el közvetlenül a videovezérlő stb.
Virtual Server - szerver virtualizáció
Nos, a világ, persze, nem csak asztali gépekből áll. Konkurens, a szerver hardvert szándéka szerint egyedül birtokolni akaró operációs rendszereken futó alkalmazói rendszereknél a szerverkonszolidáció problematikája merül föl. Ez a fejlesztési vonal is elindult, illeszkedve a Microsoft legújabb szerver platformjához, a Windows Server 2003-hoz. A béta változatú Virtual Server segítségével például máris sok erőforrást takarítottak meg a Microsoft TechNet konferenciák előadói, mert egyetlen laptopon tudták bemutatni az egyébként egész hálózatot igénylő konfigurációk működését. Jól reprezentálva, hogy ez nem valami, na, aludjuk ki magunkat, csak álom volt technológia, hanem élesben is működő, hús és vér valóság. Mind a régi rendszerek felújításán, mind újabb rendszerek tervezésén dolgozó informatikai menedzsereknek keményen a figyelmébe ajánlható, rendkívül hatékony új eszköz.
Microsoft Virtual Server korai bevezetési támogatás
Talán még nem késő szólni, mert lehet, hogy az utolsó pillanatokban vagyunk ahhoz, amikor még letölthető az MS VirtualPC Server kategóriájú próbaváltozata, az újabban terjedő MS próbaváltozatok mintájára, időkorláttal, de még nem teljes funkcionalitással. Október óta a regisztráció kötelező, név nélkül már nem lehet letölteni semmilyen béta szoftvert. Az elfogadásról külön értesítést küldenek, de ez esetleg pár napba is beletelhet.
Kapcsolódó linkek:
Virtual PC site
Microsoft Virtual Server