QEMU | |
---|---|
| |
Type | virtuel maskine |
Udvikler | Fabrice Bellard [1] |
Skrevet i | C [3] |
Interface | GTK og Simple DirectMedia Layer |
Operativ system | GNU/Linux [4] , BSD , Microsoft Windows [5] og macOS |
nyeste version |
|
Læsbare filformater | Qcow2 [6] , VMDK og qcow2 [7] |
Genererede filformater | Qcow2 [6] og qcow2 [7] |
Licens | GNU GPL 2 [8] |
Internet side | qemu.org _ |
Mediefiler på Wikimedia Commons |
QEMU er et gratis og open source-program til at emulere hardware på forskellige platforme.
Inkluderer emulering af Intel x86-processorer og I/O-enheder . Kan emulere 80386 , 80486 , Pentium , Pentium Pro , AMD64 og andre x86-kompatible processorer; ARM , MIPS , RISC-V , PowerPC , SPARC , SPARC64 og delvist m68k .
Kører på Stavelse , FreeBSD , OpenBSD , FreeDOS , Linux , Windows 9x , Windows 2000 , Mac OS X , QNX [9] [10] [11] , Android osv.
Forfatteren af programmet er en fransk programmør Fabrice Bellard ( fr. Fabrice Bellard ), skaberen af det populære libavcodec -bibliotek , som bruges af så velkendte programmer som FFmpeg , ffdshow , MPlayer , VideoLAN , osv.
Ud over emulering understøtter den hardwarevirtualiseringsteknologier (Intel VT og AMD SVM) på x86-kompatible Intel- og AMD-processorer. Oprindeligt blev udviklingen udført som en del af Linux KVM -projektet , hvor der udover selve KVM (understøttelse af hardware-virtualiseringsteknologier til x86-kompatible processorer på Linux-kerneniveau) blev udviklet patches til QEMU for at give QEMU mulighed for at bruge KVM-funktionalitet. Efterfølgende blev lapperne slået sammen til programmets hovedgren [12] .
Softwareemulering sænker den virtuelle maskine betydeligt. Oprindeligt blev der foreslået to måder at fremskynde arbejdet betydeligt ved at emulere den samme arkitektur, hvilket bringer det tættere på hovedsystemets hastighed - KQEMU og QVM86. Senere blev KVM integreret - en mekanisme til brug af hardwarevirtualiseringsunderstøttelse.
Det har meget hurtig emulering ved hjælp af et specielt modul kaldet KQEMU (oprindeligt var KQEMU-modulet proprietært licenseret , i øjeblikket licenseret under GNU GPL ). I øjeblikket fungerer det stabilt kun i Linux 2.4 - 2.6, der er eksperimentel understøttelse af Microsoft Windows og FreeBSD . Siden version 0.12.0 understøtter QEMU ikke KQEMU.
QVM86 har samme arbejdsprincip; det var simpelthen en erstatning for KQEMU på et tidspunkt, hvor KQEMU's kildekode ikke var open source. Udviklingen af QVM86 ophørte i 2007.
For at opnå hastigheden af et virtualiseret system, der kan sammenlignes med at køre på rigtig hardware, kan qemu bruge hardware-virtualiseringsfunktionerne i moderne processorer. Til dette bruges KVM (eller Xen) hypervisor [13] .
For at fremskynde arbejdet med rigtige PCI/PCIe-udvidelseskort, I/O-rumvirtualiseringsteknologier ( IOMMU ) og overførsel af adgang til en rigtig enhed inde i en virtuel maskine (hvis computeren understøtter Intel VT-d eller AMD-Vi ) [ 14] kan bruges .
I tilstanden til at starte individuelle programmer (brugeremulering): |
I fuld OS-starttilstand: |
Fuldt ud: |
Support testet: |
Minimal support, kun i den aktuelle version fra CVS : |
Kørsel af en live-cd fra et ISO-image .
qemu -m 512 -cdrom /sti/to_iso_image/example.iso -boot dEmulerings- og virtualiseringssoftware ( sammenligning ) _ _ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Anvendelseslag |
| ||||||||||||||
OS -niveau (containere) |
| ||||||||||||||
Hardware niveau |
| ||||||||||||||
Netværksvirtualisering |
|