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 ver­schil­len­de hard­wa­re­plat­forms kunnen worden ge­ë­mu­leerd en ge­vir­tu­a­li­seerd.

Wat is QEMU?

QEMU, kort voor ‘Quick Emulator’, is vir­tu­a­li­sa­tie­soft­wa­re die kan worden gebruikt om ver­schil­len­de soorten hardware te emuleren. Als open source-software is QEMU vrij toe­gan­ke­lijk en wordt het on­der­steund door een grote ge­meen­schap van ont­wik­ke­laars we­reld­wijd. 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 enkele ba­sis­ver­eis­ten 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 cruciaal. Voor het emuleren van x86-be­stu­rings­sys­te­men is bij­voor­beeld meestal minimaal 4 GB RAM nodig om soepel te kunnen werken, terwijl voor com­plexe­re scenario’s, zoals het emuleren van een ARM-server, mogelijk meer bronnen nodig zijn.
  • 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 zijn 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 moeten mogelijk aan­vul­len­de soft­wa­re­pak­ket­ten of bi­bli­o­the­ken worden ge­ïn­stal­leerd. 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 func­ti­o­neert zowel als emulator als vir­tu­a­li­sa­tor. Als emulator maakt het het mogelijk om software die voor het ene hard­wa­re­plat­form is ontworpen, op een heel ander platform uit te voeren door de hardware op soft­ware­ni­veau te re­pli­ce­ren. QEMU kan 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­tor gebruikt QEMU 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 bijna native uit te voeren, wat re­sul­teert in aan­zien­lijk ver­be­ter­de 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 ze recht­streeks toegang te geven tot de fysieke hardware.

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

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

  • Soft­wa­re­ont­wik­ke­ling en -testen: QEMU maakt het mogelijk om software op ver­schil­len­de hard­w­are­ar­chi­tec­tu­ren te testen 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 die ver­schil­len­de diensten uitvoeren.
  • 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 ver­ou­der­de 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 ver­ou­der­de 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 worden gebruikt voor zowel vir­tu­a­li­sa­tie als emulatie, waardoor het een zeer veel­zij­di­ge tool is voor ver­schil­len­de 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 aan verbonden. 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 ge­brui­kers op ver­schil­len­de platforms een hoge mate van com­pa­ti­bi­li­teit en flexi­bi­li­teit.
  • Com­bi­neer­baar­heid 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 emu­la­tie­mo­dus kan QEMU trager zijn dan andere op­los­sin­gen omdat de hardware volledig in software moet worden ge­ë­mu­leerd, wat re­sul­teert in hogere overhead en tragere uit­voe­ring.
  • Com­plexi­teit: Het instellen 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 ba­sis­gra­fi­sche 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