Emuláció rendszerek qemu

Mi QEMU?

Nem túlzás azt mondani, hogy a virtualizáció - ez egy nagyon népszerű a jelenlegi technológiával. Ma, on-demand virtualizáció szót a keresési motor ki mintegy 22 millió eredményt. Például csak egy hónap, EMC bejelentette visszavonását az értékpapír-piaci VMware, Citrix rendszer bejelentette, hogy megvásárolja a XenSource, sok új cég a szegmensben a virtualizáció. Ezen, mint kiderült, egy hatalmas piac folyamatosan találtak új fülkékben. De a vita a tőzsdei és felvásárlások virtualizáció manapság könnyű elfelejteni néhány egyéb meglévő virtualizációs technológiák.

Ez a cikk bemutatja az egyik legérdekesebb alkalmazások virtualizáció nem sztárja a hírek szalagok - QEMU. QEMU - egy olyan alkalmazás, amely használható többféle célra. Ezt fel lehet használni szimulálni a vendég operációs rendszer vagy egy teljes értékű gép emulátor futó operációs rendszerét úgy tervezték, hogy a fogadó CPU vagy más processzor architektúrát.

Rövid bevezetés a virtualizáció

Kezdjük egy rövid bevezetés a virtualizáció a terepet QEMU.

Virtualizáció alatt ebben a cikkben azt feltételezi, virtualizációs platform. Fizikai hardverfigyelő program lehet a gazda operációs rendszer vagy hypervisor (lásd. 1. ábra). Bizonyos esetekben a gazda operációs rendszer és a hypervisor. Vendég operációs rendszerek „élőben” egy hypervisor. Bizonyos esetekben, a vendég operációs rendszer középpontjában ugyanaz a processzor, mint a monitoring program, de más esetekben eltérőek lehetnek (például PowerPC vendég futó x86).

1. ábra: Alapvető építészeti platform virtualizációs

Végre virtualizáció lehet a különböző módokon, de leggyakrabban három fő módszer. Az első az úgynevezett „természetes” (vagy teljes) virtualizációt. Ebben a kiviteli alakban, egy hypervisor végrehajtja az alapvető elemei elszigetelten, különválasztva a fizikai hardvert a vendég operációs rendszer. Ezt a megközelítést először bizonyította 1966-ban az operációs rendszer virtuális gép / virtuális memória IBM CP - 40, és most ugyanazt a módszert használt VMware ESX Server.

Egy másik népszerű módszer virtualizáció úgynevezett paravirtualizációt. A paravirtualizációt, a vezérlő programot valósít meg egy alkalmazási program interfész (API) hypervisor, amelyet a vendég operációs rendszer. Xen paravirtualizációt használt és Linux kernel alapú virtuális gép (KVM).

A harmadik hasznos technika az úgynevezett emuláció. Emuláció, mint a neve is mutatja, Virtualizálja vendég platform szimulálva teljes hardver környezetet. Emuláció végezzük különféle formákban, még ugyanabban a kérelmet. Példák a virtualizáció révén emulációs -is QEMU és Bochs.

építészet QEMU

Fontolja meg, hogy QEMU ér emuláció. Ez a rész a két üzemmód között QEMU, valamint néhány érdekes szempontból a QEMU dinamikus fordító.

Alapműveletek QEMU

QEMU támogatja a két emulációs mód: felhasználói mód [User-mode] és szisztémás mód [System-mode]. A felhasználói mód lehetővé teszi emulációs folyamat létrehozott egy processzor, működnek a különböző (dinamikus fordítás végrehajtott utasítások a fogadó processzor és konvertáló Linux rendszer hívás). A rendszer lehetővé teszi, hogy emuláció emuláció a teljes rendszert, beleértve a processzor és a különböző perifériákat.

Ha a kódot x86 emuláció a host rendszer x86 architektúra, akkor érheti el a teljesítmény közel otthon, segítségével az úgynevezett QEMU gyorsító. Ez lehetővé teszi, hogy végre emulált kódot közvetlenül a gazda CPU (Linux a kernel modul).

De mi teszi QEMU érdekes technikai szempontból is a gyors és kompakt, dinamikus fordító [dinamikus fordító]. A dinamikus fordító lehetővé teszi az átszállítást végrehajtása során a cél (vendég) utasításokat a processzor gazda CPU utasítást emuláció. Ez úgy valósítható meg, brute force (egyszerűen kicseréljük egy processzor utasítás mások), de ez nem mindig könnyű csinálni, és bizonyos esetekben egyetlen utasítást megkövetelheti több utasítást vagy változások a sorrendben a broadcast építészet.

QEMU ér dinamikus fordítását cél utasítások be mikro-ops. Ezek a mikro-ops elemei P-kód, ami lefordítva tárgyakat. Aztán jön a fő fordító. Ez megjeleníti a cél utasításokat mikro műveletek dinamikus fordítást. Ez a megközelítés nem csak hatékony, hanem hordozhatóságot.

QEMU dinamikus fordító is gyorsítótáraz blokkok lefordított kódot, hogy minimalizálja a fordító fölött. Amikor célkódlapokkal blokk első előfordulása, akkor azt átvisszük és tároljuk egy lefordított blokk [fordította blokk]. QEMU gyorsítótár tárolja nemrég lefordított blokk egy 16 MB. QEMU is támogatja önmódosító kódot érvényteleníti fordította blokkokat a cache.

támogatott perifériák

Ezt a szabványos PC és ISA PC nélkül (PCI busz), QEMU képes emulálni a hardver platform és egyéb nem PC, például alaplemez APM Versatile (a 926E), valamint a tábla alapján Málta millió utasítás másodpercenként (MIPS). Jelenleg munkát végez, hogy hajtsák végre a támogatást számos más platformon, beleértve a Power Macintosh G3 (kék Fehér) és a Sun 4u.

Épület és telepítése QEMU

Építési és telepítése QEMU olyan egyszerű, szabványos eszközök GNU. Miután letöltötte és unzipping QEMU eloszlás kell végrehajtania configure. tenni. majd make install (lásd. 1. listát).

1. lista építése QEMU emulátor

Ez a folyamat létrehoz nemcsak egy végrehajtható qemu kép az aktuális célarchitektúra hanem a képek más architektúrák, beleértve az ARM, MIPS, PowerPC, 68k, és SPARC. Ezután letöltheti a Linux kernel számára épült egy másik cél architektúrák.

Ha a vendég és gazda operációs rendszer célja egy egységes szerkezet, lehetséges, hogy növelje a sebességet, hogy lezárja az otthoni, a gázpedál QEMU (kqemu). Kqemu - a vezető (kernel module for Linux), amely lehetővé teszi a felhasználói kód és a kernel kód futtatása közvetlenül a saját CPU. Épület a QEMU gyorsító ahogy QEMU is (lásd. 2. lista).

2. lista építése QEMU gyorsító

Kqemu lehet lefordítani és telepíteni a különböző operációs rendszerek, beleértve a Microsoft® Windows®, FreeBSD® és Linux. Miután építeni a QEMU gyorsító, telepítse a Linux, a következő parancs segítségével:

használata QEMU

Most nézzük meg a QEMU szimulálni egy másik gép egy tipikus asztali PC-n futó GNU / Linux. Emuláló másik gép hasonló a kezdő lépésekhez a most vettem egy új számítógépet. Az első lépés -, hogy az operációs rendszer telepítése. Új számítógép, persze, kell egy hely, ahol az operációs rendszer telepítését, ezért van szükség a merevlemezen.

Mert quemu-img kell adnia a műveletet (create hogy hozzon létre egy új lemez kép), a formátumot (qcow a qemu képformátum), és a mérete a lemez kép nevét. A következő példa emulál gép egy kis Linux disztribúció, felhasználásra szánt Flash-t. Tehát hozz létre egy korong kép 128 MB:

Szükséges megjegyezni, hogy ha azt tervezi, hogy felszerel egy általános célú operációs rendszer, mint a Windows, Linux vagy FreeBSD, szüksége van egy sokkal nagyobb lemezre. Az eredmény a végrehajtott művelet - disk.img fájl - tartalmazza az emulált merevlemez 128 MB.

Most, hogy a merevlemez jött létre, akkor telepíteni egy új operációs rendszer rajta. Ennek bizonyítására, én használni egy kis Linux disztribúció, az úgynevezett cfLinux, használatra szánt kis beágyazott Linux-alapú rendszerek eszközök, mint például az átjárók, vezeték nélküli hozzáférési pontok, tűzfalak és routerek. Ez az eloszlás letölthető ISO formátumban wget:

ISO image széles körben használják a CD-ROM formátumban (más néven az ISO 9660 fájlrendszer).

Most már emulált lemez (disk.img) és CD-ROM-on, ahonnan az operációs rendszer telepítése. A következő lépés a rendszer telepítése a merevlemezen. Ez úgy történik, nagyon egyszerűen qemu:

Ha qemu disk image által megadott hda opciót. és CD-ROM-on (a fájl, ahol a kép található) - a cdrom opciót. csomagtartó opció lehetővé teszi, hogy boot a CD-ROM-on. Argumentum d a rendszerindító CD-ROM-on, egy - egy floppy lemezre, c jelzi bootolni a merevlemezről (ez az alapértelmezett), és az n - hálózati indításra. Ha a parancs megfelelő, akkor egy új ablak jelenik meg, a QEMU emulált gép (lásd. 2. ábra).

2. ábra: Felkészülés a telepítésre cfLinux emulált lemez QEMU

Emuláció rendszerek qemu

Kövesse az utasításokat, hogy telepíteni a CD-ROM-on, könnyen, hogy a telepítés az ISO image-emulált merevlemez. Telepítés szerújraindítást. Ezen a ponton, akkor töltse ki az emulációs (Ctrl-C, a qemu ablakban). Most már letölthető az újonnan telepített operációs rendszert a következő parancsot:

Ez a parancs utánozza a standard PC (az alapértelmezett beállítás) a merevlemez által képviselt képfájl disk.img. Linux kép, boot a emulált merevlemez, ad eredményeként a QEMU ablakon, a 3. ábrán látható.

3. ábra betöltése frissen cfLinux az emulált merevlemez

Emuláció rendszerek qemu

Mint látható, minden nagyon egyszerű. Ebben az esetben, ugyanabban a sorrendben lehet használni, hogy telepíteni és indítani bármely különböző operációs rendszerek (Linux disztribúció, a Windows, és mások).

más emulátorok

Bár QEMU - fantasztikus emulációs környezet, mások érdemes megvizsgálni. Bor - egy nyílt forráskódú megvalósítása a Windows API - lehetővé teszi, hogy futtatni a Windows alkalmazásokat anélkül, hogy a Windows operációs rendszer. De ahogy a bor betűszó magyarázza, Bor - ez nem egy emulátort (Bor - Wine nem egy emulátor). Ehelyett Wine végrehajtja egy sor API, amely lehetővé teszi az alkalmazások futtatásához x86 architektúra. Ezért alkalmazások futnak Wine, jól érzi magát.

Továbbhaladva

Segítségével QEMU PC emulátor segítségével kísérletezni a különböző operációs rendszereket anélkül, hogy szükség van egy tartalék gép. Például, a ReactOS - Windows XP-kompatibilis nyílt forráskódú operációs rendszer (amelynek emulációs látható a 4. ábrán).

ReactOS célja a bináris kompatibilitás a Windows XP, hogy a ReactOS futtatható alkalmazások a Windows XP. A források részben kapcsolatot biztosít a forrásokat, amely információkat tartalmaz a jelenlegi alkalmazások kompatibilitását.

4. ábra emuláló szabványos PC ReactOS

Emuláció rendszerek qemu

QEMU kép ReactOS és sok más operációs rendszerek is megtalálhatók a szabad operációs rendszerek Zoo (további információkért lásd a forrásokat). Ezek az operációs rendszerek kerülnek bemutatásra formájában Live CD-képeket, floppy vagy CD (at qcow formátum). QEMU - egy nagyszerű módja, hogy megpróbálja az új operációs rendszerek, időveszteség nélkül telepíteni őket.

Get termékek és technológiák