QEMU
QEMU
QEMU (Quick EMUlator) är en fri och öppen källkodsbaserad plattform för **emulering och virtualisering av hårdvara**, som möjliggör körning av operativsystem och applikationer för en processorarkitektur på en annan. QEMU används i stor utsträckning för korsutveckling, testning, servervirtualisering och forskning genom att kunna simulera hela datorsystem, inklusive CPU, minne, lagring och kringutrustning.
Sedan starten har QEMU utvecklats till en central komponent i modern virtualiseringsinfrastruktur och används bland annat som grund i molnplattformar, CI-system och avancerade testmiljöer.
Arkitektur
QEMU är modulärt uppbyggt och består av flera centrala komponenter:
- CPU-emulator (TCG): Kärnan i QEMU är den dynamiska binäröversättaren *Tiny Code Generator*, som översätter instruktioner från gästarkitekturen till värdmaskinens instruktioner i realtid. Detta möjliggör fullständig systememulering även mellan helt olika arkitekturer.
- Enhetsemulering: QEMU emulerar ett stort antal hårdvaruenheter, såsom nätverkskort, blockenheter, grafikkort, USB-kontrollers och firmware, vilket gör det möjligt att återskapa kompletta och realistiska maskinmiljöer.
- User-mode-emulering: Tillåter körning av enskilda program för en annan arkitektur än värdsystemets, utan att ett helt operativsystem behöver emuleras. Detta används ofta vid applikationsportering och automatiserad testning.
Virtualiseringstekniker
QEMU stödjer flera olika exekveringsmodeller:
- Full systememulering: Hela datorsystem emuleras i mjukvara, vilket gör det möjligt att köra operativsystem avsedda för annan hårdvara, exempelvis ARM, RISC-V eller PowerPC, på en x86-värd.
- Hårdvaruassisterad virtualisering (KVM): När QEMU används tillsammans med Linux-kärnans KVM-modul kan gästoperativsystem köras direkt på värdprocessorn med minimal overhead, förutsatt att arkitekturen är densamma. QEMU ansvarar då främst för enhetsemulering och VM-hantering.
Prestanda och utveckling
Prestandan i QEMU beror på vald exekveringsmodell. Full emulering med TCG innebär en viss prestandakostnad på grund av dynamisk översättning, medan KVM-baserad virtualisering kan uppnå prestanda nära fysisk hårdvara. I moderna versioner har QEMU vidareutvecklats med förbättrad I/O-hantering, parallellisering och stöd för nya Linux-mekanismer såsom *io_uring*, samt funktioner för live-uppdatering av körande virtuella maskiner.
Användningsområden
- Programvaruutveckling och testning: Utveckling och verifiering av programvara för flera arkitekturer utan behov av fysisk hårdvara.
- Server- och molninfrastruktur: Drift av virtuella maskiner i datacenter, privata moln och publika molnplattformar.
- Forskning och utbildning: Studier av operativsystem, datorsäkerhet, arkitekturer och systemdesign.
- Digitalt bevarande: Emulering av äldre datorsystem och operativsystem för arkiv, museer och historisk analys.
QEMU utgör i dag ett av de mest mångsidiga och tekniskt avancerade verktygen inom virtualisering och systememulering, med stor betydelse för både industri, akademi och öppen källkodsrörelsen.
QEMU på huvudsidan
Det här är linux.se-wikin. Här publicerar vi fakta om olika saker som rör Linux, medan det på linux.se:s huvudsida publiceras artiklar som rör Linux och öppen källkod.
Länken https://www.linux.se/tag/qemu/ tar fram allt innehåll som berör QEMU på huvudsidan.
QEMU
Aktuell version: 10.2
Hemsida: https://www.qemu.org/
Sidslut
Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webbhotell