QEMU is open-source vir­tu­a­li­sa­tie­soft­wa­re waarmee ver­schil­len­de be­stu­rings­sys­te­men en ap­pli­ca­ties op diverse hard­wa­re­plat­forms kunnen worden ge­ë­mu­leerd en ge­vir­tu­a­li­seerd.

Wat is QEMU?

QEMU, een afkorting van ‘Quick Emulator’, is vir­tu­a­li­sa­tie­soft­wa­re waarmee ver­schil­len­de soorten hardware kunnen worden ge­ë­mu­leerd. Als open-source software is QEMU vrij toe­gan­ke­lijk en wordt het on­der­steund door een grote we­reld­wij­de ge­meen­schap van ont­wik­ke­laars. Het maakt de emulatie mogelijk van ver­schil­len­de hard­w­are­ar­chi­tec­tu­ren, waaronder x86, ARM, PowerPC en vele andere. Deze veel­zij­dig­heid maakt QEMU bijzonder waardevol voor pro­gram­meurs, testers en sys­teem­be­heer­ders die ver­schil­len­de be­stu­rings­sys­te­men of software op diverse hard­wa­re­con­fi­gu­ra­ties moeten testen en uitvoeren.

Vereisten voor het gebruik van QEMU

Om QEMU effectief te kunnen gebruiken, moet aan een aantal ba­sis­voor­waar­den worden voldaan:

  • Hardware: QEMU kan op vrijwel alle moderne com­pu­ter­hard­wa­re worden uit­ge­voerd, maar de pres­ta­ties zijn sterk af­han­ke­lijk van de be­schik­ba­re bronnen. Voor het emuleren van complexe be­stu­rings­sys­te­men en ap­pli­ca­ties zijn een krachtige processor en voldoende RAM van cruciaal belang. Zo is voor het emuleren van x86-be­stu­rings­sys­te­men doorgaans minimaal 4 GB RAM nodig om alles soepel te laten verlopen, terwijl com­plexe­re scenario’s, zoals het emuleren van een ARM-server, mogelijk meer bronnen vereisen.
  • Be­stu­rings­sys­teem: QEMU is plat­for­mon­af­han­ke­lijk en draait op ver­schil­len­de be­stu­rings­sys­te­men, zoals Linux, Windows en macOS. De in­stal­la­tie en het gebruik kunnen echter variëren, af­han­ke­lijk van het be­stu­rings­sys­teem. Voor optimaal en eenvoudig gebruik op Linux-systemen wordt aan­be­vo­len om een Linux-dis­tri­bu­tie te kiezen die QEMU al in de pak­ket­bron­nen bevat.
  • Software: Af­han­ke­lijk van het be­stu­rings­sys­teem en spe­ci­fie­ke ge­bruiks­si­tu­a­ties kan het nodig zijn om aan­vul­len­de soft­wa­re­pak­ket­ten of bi­bli­o­the­ken te in­stal­le­ren. Op Linux-systemen kan dit bij­voor­beeld libvirt zijn voor het beheer van virtuele machines of virt-manager voor een grafische ge­brui­kers­in­ter­fa­ce.

Hoe werkt QEMU?

QEMU fungeert zowel als emulator als vir­tu­a­li­sa­tie­pro­gram­ma. Als emulator maakt het de uit­voe­ring mogelijk van software die voor het ene hard­wa­re­plat­form is ontworpen op een geheel ander platform, door de hardware op soft­ware­ni­veau na te bootsen. Zo kan QEMU bij­voor­beeld een ARM-processor emuleren op een x86-computer, waardoor be­stu­rings­sys­te­men en programma’s die voor ARM zijn ont­wik­keld, naadloos op x86-hardware kunnen draaien.

Als vir­tu­a­li­sa­tie­pro­gram­ma maakt QEMU gebruik van de bestaande hardware om een vir­tu­a­li­sa­tie­laag te creëren. Wanneer QEMU samen met KVM als hy­per­vi­sor wordt gebruikt, heeft het toegang tot de CPU-uit­brei­din­gen om virtuele machines vrijwel op native wijze uit te voeren, wat re­sul­teert in aan­zien­lijk betere pres­ta­ties. Deze methode wordt pa­ra­vir­tu­a­li­sa­tie genoemd en helpt de pres­ta­ties van de virtuele machines te maxi­ma­li­se­ren door hen recht­streeks toegang te geven tot de fysieke hardware.

Be­lang­rij­ke toe­pas­sings­ge­bie­den voor QEMU

QEMU wordt op allerlei ver­schil­len­de gebieden gebruikt:

  • Soft­wa­re­ont­wik­ke­ling en -testen: Met QEMU kan software op ver­schil­len­de hard­w­are­ar­chi­tec­tu­ren worden getest zonder dat daarvoor fysieke machines nodig zijn, waardoor het ideaal is voor plat­for­mon­af­han­ke­lij­ke ont­wik­ke­ling en on­der­steu­ning van meerdere ar­chi­tec­tu­ren.
  • Vir­tu­a­li­sa­tie van servers en desktops: QEMU wordt vaak gebruikt in ser­ve­r­om­ge­vin­gen om virtuele machines te hosten waarop diverse diensten draaien.
  • Onderzoek en onderwijs: Met QEMU kunnen studenten en on­der­zoe­kers ex­pe­ri­men­te­ren met ver­schil­len­de be­stu­rings­sys­te­men en hard­wa­re­con­fi­gu­ra­ties zonder dat daarvoor dure fysieke hardware nodig is.
  • Emulatie van legacy-systemen: QEMU kan oudere of niet-on­der­steun­de be­stu­rings­sys­te­men en software emuleren, wat helpt bij het onderhoud en de werking van legacy-systemen.

Voordelen van QEMU

  • Flexi­bi­li­teit en veel­zij­dig­heid: QEMU on­der­steunt een breed scala aan hard­w­are­ar­chi­tec­tu­ren en kan zowel voor vir­tu­a­li­sa­tie als voor emulatie worden gebruikt, waardoor het een zeer veel­zij­dig hulp­mid­del is voor diverse toe­pas­sin­gen.
  • Gratis en open source: Als open-source software is QEMU gratis te gebruiken en zijn er geen li­cen­tie­kos­ten. Het pro­fi­teert ook van een actieve community die voort­du­rend ver­be­te­rin­gen en be­vei­li­ging­sup­da­tes levert.
  • On­der­steu­ning voor meerdere platforms: QEMU draait op meerdere be­stu­rings­sys­te­men en biedt daarmee een hoge mate van com­pa­ti­bi­li­teit en flexi­bi­li­teit voor ge­brui­kers op ver­schil­len­de platforms.
  • Com­bi­na­tie met KVM: In com­bi­na­tie met KVM kan QEMU bijna native pres­ta­ties leveren, waardoor het een aan­trek­ke­lij­ke keuze is voor het vir­tu­a­li­se­ren van servers en desktops.

Nadelen van QEMU

  • Pres­ta­ties bij volledige emulatie: In de emu­la­tie­mo­dus kan QEMU trager zijn dan andere op­los­sin­gen, omdat de hardware volledig via software moet worden ge­ë­mu­leerd, wat leidt tot meer overhead en een tragere uit­voe­ring.
  • Com­plexi­teit: Het in­stal­le­ren en con­fi­gu­re­ren van QEMU kan een uitdaging zijn voor beginners, vooral wanneer extra com­po­nen­ten zoals KVM, libvirt of net­werk­brug­gen moeten worden toe­ge­voegd.
  • Gebrek aan ge­bruiks­ge­mak: In ver­ge­lij­king met andere vir­tu­a­li­sa­tie­op­los­sin­gen biedt QEMU geen native, ge­bruiks­vrien­de­lij­ke grafische interface.
  • Beperkte on­der­steu­ning voor 3D-ver­snel­ling: Hoewel QEMU in staat is om basis grafische be­wer­kin­gen te emuleren, is de on­der­steu­ning voor 3D-ver­snel­ling beperkt, waardoor het minder geschikt is voor grafisch in­ten­sie­ve toe­pas­sin­gen.
Ga naar hoofdmenu