Tudta-e?
hogy Jurij Gagarin 1961. április 12-én a világon elősször nyolcvankilenc percig keringett a Föld körül a kozmoszban a Vosztok-1 kabinjában?

1. szám - 2007. június 4.

SZÁMÍTÁSTECHNIKA

Virtuális világ

A legtöbbünkben a Virtuális világ az Internetet jelenti, bele sem gondolunk abba, hogy egy gépen belül is létezhet, sőt létezik virtualizáció
Baji Zsolt

1. rész

Sok ember számára a virtuális világ az Internetet jelenti. Bele sem gondolunk abba, hogy egy számítógépen belül is létezhet, sőt létezik virtualizáció. A folyamat valójában nem újdonság, habár sokáig nem így neveztük. Ha belegondolunk, manapság egyetlen számítógépen több programot futtatunk egy időben, azonban nincs minden egyes programra külön hardverelem a gépben (processzor, memória stb.), csupán az operációs rendszer oldja meg a megosztást úgy, hogy minden egyes program megkapja a szükséges hardverelem működtetését meghatározott időre. Ezt a folyamatot multitascing-nak nevezzük. Az új tendencia azonban még egy fajta virtualizációt hozott létre, mégpedig az operációs rendszerek virtualizálását, vagyis azt, hogy több operációs rendszer használja ugyanazokat a hardvereket egyazon időben, akárcsak a multitascingnál, itt is időintervallumokra leosztva. Természetesen mindehhez fut a háttérben egy alap operációs rendszer, ami biztosítja azt, hogy minden egyes operációs rendszer, és az azokon futó programok megfelelően, egymást nem zavarva férhessenek hozzá a hardverelemekhez.

Mire jó az operációs rendszerek virtuális gépen való futtatása?

Ezen az úton sok olyan probléma oldható meg, mely mindeddig nehézségekbe ütközött: egyes programok csak az egyik operációs rendszeren futnak, így megoldható e programok egyidejű használata ugyanazon a gépen. Bizonyos hardverelemek egyes rendszerekben nem működnek megfelelően, ami ezzel a megoldással kiküszöbölhető (pl. Windowson futtatjuk a winmodemet, melynek nincs meghajtója Linux alá, és ugyanazon a gépen Linuxon virtuális hálózaton keresztül használjuk azt); lehetőség van a kritikus alkalmazások még nagyobb, és még teljesebb elkülönítésére azzal, hogy virtuális gépen futtatjuk őket. A virtuális gépek sokkal gyorsabban betölthetőek, így a kritikus alkalmazásaink hibája esetén gyorsan újraindíthatjuk a gépet; egy állapot elmenthető és visszahozható (gyors és biztonságos vészmentéseket lehet végezni); lehetőség van a virtuális gépek viszonylag könnyű áthelyezésére egyik hardverről (számítógépről) egy másikra - például meghibásodás esetén; a felhasználási kör szinte korlátlan. Ha belegondolunk, manapság egy gép (legyen az akár a napjainkban kapható leggyengébb masina is) kapacitása túl nagy az átlagos felhasználó számára (az Internet, Office és multimédiás szükségéletek ma már alapfunkcióként sem tekinthetőek). Így takarékossági szempontból megoldható lenne az is, hogy több személy egymástól teljesen függetlenül használja ugyanazt a gépet, ami az egyes kiszolgáló központokban (tolóablak szolgálatok, telefonos ügyfélszolgálatok stb.) jelentős költségmegtakarítást is hozhat. Ha valaki annak idején dolgozott terminálokon (melyeknél csak billentyűzet és monitor van), akkor számára ismerős lehet ez a megoldás. A terminálokat korábban azért alkalmazták, mert megfizethetetlen volt a sok számítógép, sőt a méretekből adódóan el sem tudták volna azokat helyezni. Azonban a klasszikus termináloktól eltérően itt minden egyes felhasználónak saját független operációs rendszere lehetne, sőt akár USB-n keresztül önálló hardverelemeket is használhatna.

Az ötletek tárháza azonban nem merült ki ennyivel, ugyanis már manapság is kaphatóak virtuális szerverek. Sajnos egyelőre csak külföldön léteznek ilyen jellegű szolgáltatások, de nincs kizárva, hogy hazánkban is előbb-utóbb megjelennek a hasonló rendszerek. Ez a szolgáltatás abból áll, hogy egy nagy szerverközpontban nem veszünk meg egy egész számítógépet, csupán bérelünk egy gép kapacitásából a számunkra szükséges mennyiségben, melyen a saját operációs rendszerünket és programjainkat futtatjuk, mintha egy egész szervergépünk lenne. Ez egy olcsó eljárás arra, hogy Interneten futtatandó applikációinkat olcsón elhelyezhessük egy szerverparkban, sőt, szükség esetén akár könnyedén átméretezhetjük a szükséges erőforrások kapacitását (teszem azt, nagyobb számítási kapacitásra van szükségünk, így csak hozzáfizetünk az eddigihez, és abban a pillanatban a rendelkezésünkre áll további processzorterhelhetőség). E megoldással igényeinknek megfelelően dinamikusan alakíthatjuk a rendszer kapacitását.

A virtuális gépek kialakítására jelenleg több különböző megoldás is létezik, sőt már a hardvergyártók is e tendenciát kezdték követni. Ugyanis az AMD, és már az Intel is olyan utasításokat épített be a processzoraiba, amelyek biztosítják az alap operációs rendszernek a többi rendszertől való elkülönítését és párhuzamos futtatását. Az új PCI-Express standard (nemrégen jelent meg az új 2-es verziójú specifikáció, mely visszafelé teljesen kompatibilis) megköveteli az ennek megfelelő bővítőkártyáktól, hogy biztosítsák az operációs rendszerek gyors váltását, és a hardverállapot cseréjét, illetve a hardverelemek védelmét, kizárólagos használati jogát az egyik felhasználó által definiált rendszernek (például a videokártya csak egy gép számára legyen elérhető).

Emulálás, VMWare - a PC emulátor

A számítógép virtualizálásának több különböző megoldása is van. Mindegyiknek megvan a maga előnye és hátránya. A legrégebbi megoldás az úgynevezett emulálás, amikor az egész számítógépet virtuálisan egy program segítségével létrehozzuk. Gyakorlatilag egy nem létező hardvert hozunk létre szoftver segítségével, és aztán ezen, a valóságban nem létező virtuális hardveren futtatunk egy operációs rendszert, és azon belül programokat. Természetesen az ilyen emulált virtuális számítógép lehetőséget ad arra, hogy egy teljesen eltérő platformon futtassunk rendszereket, mint ahogyan a PC-ken elindíthatjuk az Amiga vagy a Commodore, Nintendo, Sega stb. játékokat, programokat. Ugyanakkor az ilyen virtuális gép megkönnyíti az egyik platformról a másikra átkerülő programok működtetését, elvégre a virtuális gép nem változik, csupán a mögötte futó program, aminek nincs kihatása a virtuálisan futtatott operációs rendszerre. Azonban az emulálásnak a számtalan előny mellett hatalmas hátrányai is vannak. A legnagyobb probléma az, hogy a virtuális gép minden egyes műveletét emulálni kell, tehát minden egyes processzor szintű utasítást, minden egyes hardverkezelési művelet végrehajtását úgy kell elvégezni, ahogyan az az eredeti rendszeren történne, tehát a hardver által gyorsan elvégezhető műveleteket is a szoftvernek kell végeznie, mely folyamat sokkal lassúbb és nehézkesebb, mintha azt az eredeti hardver végezné. Ez nem jelent komolyabb problémát abban az esetben, ha egy nagyobb teljesítményű számítógépen emuláljuk egy régi, kisebb teljesítményű gép futását (például PC-n Amigát). Viszont az ugyanolyan fejlettségű hardver emulálása csak jelentős sebességveszteséggel oldható meg (például PC-n PC-t emulálni).

Az egyik első sikeres kommerciális PC emuláló projekt a VMWare, amely már lassan egy évtizede jelen van és fejlődik. A program már régóta telepíthető mind Windowsra, mind Linuxra (de más platformok is elérhetőek), és a programon belül lehetőségünk van Windows, Linux, Dos, vagy más PC-n futó operációs rendszer futtatására, akár többet is futtathatunk párhuzamosan. A program a kívánt operációs rendszerhez megfelelően hozza létre a virtuális hardverelemeket, és anzok kezelésére drivereket is biztosít. Így érték el a fejlesztők, hogy a program a teljes emulálás ellenére tűrhető sebességgel működtesse a virtuális PC-nket. Persze senki ne várja azt, hogy az emulált PC gyors lesz, a benne való munka jelentősen bonyolultabb, mint egy rendes gépen. Kivételt képez a Dos emulálása, mely oly elavult, hogy gyakorlatilag nincsen jelentős gépigénye. A program lehetőséget ad egy-egy állapot elmentésére (a virtuális rendszer futása közben is), és annak későbbi visszaállítására, így a virtuális gépen kísérletezhetünk bizonyos opciókkal, beállításokkal, módosításokkal anélkül, hogy újból kellene telepíteni a gépet, vagy attól kellene tartanunk, hogy tönkreteszünk valamit. Egyszerűen csak visszaállítjuk a régebbi állapotot, és minden egyes műveletünket meg nem történtté tehetjük. Ez hasznos abban az esetben, ha olyan programokkal, eszközökkel kísérletezünk, amelyek kihatással lehetnek az operációs rendszer hibátlan működésére. A másik fontos opció, hogy a futó rendszer működése felfüggeszthető abban az állapotban, ahogy aktuálisan van. Így később folytathatjuk az elkezdett folyamatokat.

E programot használhatjuk arra is, hogy egyazon időben több operációs rendszert futtassunk a gépen, és hálózati programokat teszteljünk, vagy hogy saját, illetve mások programjait tesztelhessük steril környezetben, mely hiba esetén könnyedén eltávolítható anélkül, hogy kihathatna az eredeti rendszerünkre. Esetleg az internetezés örömeit élvezhetjük egy teljesen bezárt rendszer alatt (így védve eredeti rendszerünket), sőt az oktatásban is szerepet adhatunk neki, ha olyan beállításokat, rendszermódosítási trükköket oktatunk, melyek kihatással vannak annak működésére, esetleg egy hibás lépés esetén helyreállíthatatlan kárt okoznak benne. Mivel a virtuális rendszerek átvihetőek egyik gépről a másikra, használhatjuk a programot arra is, hogy az általunk elkészített és beállított paraméterek egy másik helyen is ugyanúgy legyenek, függetlenül az ottani géptől. Elegendő csupán hordozható adattárolóra kiírni a virtuális gépet, és a célszámítógépen egy ún. VMWare Playert futtatni, melyen belül használhatjuk a saját virtuális gépünket az általunk elmentett állapotban. Így egy prezentáció esetén pillanatok alatt a saját gépünket varázsolhatjuk a közönség elé, nem szükséges vesződnünk a szükséges programok telepítésével és azok beállításával. Természetesen sok más felhasználási terület is elképzelhető, az itt felsoroltak csak egy rövid prezentációja a lehetőségeknek.

A programról az érdeklődők részletesen tájékozódhatnak a www.vmware.com weboldalon, ahonnan azt le lehet tölteni, illetve meg lehet vásárolni.

Megjegyzés: a WMVare legújabb változata már paravirtualizációs eljárásokat is alkalmaz, melyben dinamikusan, futás idő alatt módosítja a vendég az operációs rendszer kódját.

Más típusú gépek emulálása, játékkonzolok

Az emuláció nagy előnye, hogy lehetőséget ad más típusú gépek virtuális kialakítására is. Manapság az összes régi és mai géptípusra létezik emuláló program, mely sokszor teljes egészében képes az eredeti hardverkörnyezetet emulálni a PC-n, és futtatni az adott gépre írt programokat, játékokat. Gyakorlatilag a régi kedvenc gépünket, programjainkat, játékainkat használhatjuk a mai modern PC-nk segítségével. Elegendő csupán megkeresni a megfelelő emuláló programot, feltelepíteni azt, és alatta indíthatjuk is a régi programokat. A legtöbb program az Internetről akár le is tölthető. Sőt a barkácsoló kedvűek akár praktikus megoldásokat is találhatnak arra, hogyan lehet átalakítani a régi számítógépes perifériaeszközöket, hogy általuk el lehessen olvasni a régi szalagokat, lemezeket, és használni lehessen azokat az emulált környezetben. Sajnos egyes rendszerek eredeti ROM-jai (tekinthetjük őket akkori BIOS-nak) nem elérhetőek legális úton. Ilyen például az Amiga ROM, melyet még ma is licencjogok védenek. Azonban ezek (gyakran illegális) másolataira is ráakadhatunk az Interneten.

A legtöbb gép emulálása nem jelent problémát, ugyanis teljesítményükben meg sem közelítik a mai modern társaikat. Azonban léteznek újabb típusú gépek, melyeket nem minden esetben sikerül megfelelően emulálni. A következő táblázatban bemutatunk egy kis ízelítő listát az emulátorokból, azonban ez csak egy rövid kivonat, kis keresgéléssel a netten még nagyon sok más megoldást találhatunk. Egy bőségesebb listát találhatunk a Wikipedia oldalán: http://en.wikipedia.org/wiki/List_of_emulators

Konzol típusa

Emulátor neve

meglátogatandó link(ek)

Nintendo NES

G-NES

http://gigo.retrogames.com/

Nintendo SNES

ZSNES Win

http://www.zsnes.com/

Nintendo GameBoy/color

VisualBoy

http://vboy.emuhq.com/

Nintendo GameBoy Advanced

VisalBoyAdvance Win

http://vboy.emuhq.com/

Nintendo 64

Nemu64

http://www.nemu.com/

SEGA Genesis/x32

Gens

http://gens.consolemu.com/

SEGA GameGear/SMS

SMS Plus Win

http://www.arcadeathome.com/

Sony PSX

PSEmu Pro Win

http://www.arcadeathome.com/

Fizetős játékgépek

Multiple Arcade Machine Emulator (M.A.M.E)

http://www.mame.net/,

http://www.rom-world.com/

Amiga 500/1200/2000

WinUAE

http://www.winuae.net/,

 http://www.rom-world.com/

Comodore 64

CCS64

http://www.c64unlimited.net/, http://www.ccs64.com/,

ZX Spectrum

RealSpectrum , Jasper, stb

http://www.worldofspectrum.org/, http://www.spectrum.lovely.net/

Atari ST

Steem Engine, SainT

http://www.zophar.net/atarist.html,

http://www.the-underdogs.org/, http://www.rom-world.com/

(folytatjuk)

Kapcsolódó cikkek

    ISSN 2334-6248 - Elektronikus folyóiratunk havonta jelenik meg. ©2020 Fókusz. Minden jog fenntartva!
    Design by predd | Code by tibor