QEMU: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
Ingen redigeringssammanfattning
 
(5 mellanliggande sidversioner av samma användare visas inte)
Rad 1: Rad 1:
== QEMU ==
== QEMU ==
'''QEMU''' (Quick EMUlator) är en öppen källkodsprogramvara för att emulera och virtualisera hårdvara, som möjliggör körning av operativsystem för en typ av processor på en annan typ. Detta verktyg är essentiellt för korsutveckling och virtuella testsystem genom att simulera hela datorsystem, inklusive processor och periferienheter.
'''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 ===
=== Arkitektur ===
QEMU består av flera komponenter:
QEMU är modulärt uppbyggt och består av flera centrala komponenter:


* '''CPU Emulator''': Hjärtat i QEMU är en dynamisk binäröversättare som modellerar och översätter instruktioner för gäst-CPUer till värdmaskinens språk.
* '''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.
* '''Device Emulator''': Emulerar ett brett spektrum av hårdvaruenheter som nätverkskort, grafikkort och USB-enheter.
* '''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 Emulation''': Möjliggör körning av enskilda program för olika arkitekturer för applikationsutveckling och testning.
* '''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.


=== Funktionalitet och användning ===
=== Virtualiseringstekniker ===
QEMU använder två huvudtekniker för virtualisering:
QEMU stödjer flera olika exekveringsmodeller:


* '''Full Emulation''': Hela datorsystem emuleras för att köra operativsystem på fristående hårdvara.
* '''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, en x86-värd.
* '''KVM (Kernel-based Virtual Machine)''': Samarbete med Linux-kärnans KVM-modul för att tillhandahålla hårdvaruaccelererad virtualisering, vilket förbättrar prestandan avsevärt.
* '''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 ====
=== Prestanda och utveckling ===
Prestandan varierar beroende om QEMU körs med eller utan KVM. Utan KVM innebär en overhead från dynamisk kodöversättning, medan KVM-användning när gästens och värds arkitekturer är desamma kan ge prestanda nära den underliggande hårdvaran.
Prestandan i QEMU beror 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 ===
=== Användningsområden ===
* '''Programvaruutveckling''': Bygga och testa program på olika plattformar utan fysisk hårdvara.
* '''Virtualiserade servermiljöer''': Skapa och underhålla flera servrar på en enda fysisk maskin i datacenter.
* '''Forskning och utbildning''': Används inom akademin för studier inom operativsystemdesign och nätverkssäkerhet.


QEMU är ett viktigt verktyg inom IT-industrin, speciellt där plattformsöverskridande kompatibilitet och avancerad systememulering krävs.
* '''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<BR>
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/
<BR><BR>Tack till [https://datorhjalp.se Datorhjälp] som har  sponsrat [https://www.linux.se Linux.se] med webbhotell
 
[[Kategori:Linuxdistributioner]]
[[Kategori:Linuxdistributioner x86]]
[[Kategori:Linuxdistributioner ARM]]
[[Kategori:Operativsystem]]
[[Kategori:Linux]]
 
 
 
[[Kategori:Virtualisering]]
[[Kategori:Virtualisering]]

Nuvarande version från 26 december 2025 kl. 05.33

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