Utgivelse av QEMU 5.0-emulatoren

Introdusert prosjektutgivelse QEMU 5.0. Som emulator lar QEMU deg kjøre et program kompilert for én maskinvareplattform på et system med en helt annen arkitektur, for eksempel kjøre en ARM-applikasjon på en x86-kompatibel PC. I virtualiseringsmodus i QEMU er ytelsen til kodekjøring i et isolert miljø nær det opprinnelige systemet på grunn av direkte utførelse av instruksjoner på CPU og bruk av Xen hypervisor eller KVM-modul.

Prosjektet ble opprinnelig opprettet av Fabrice Bellard for å la Linux-kjørbare filer bygget for x86-plattformen kjøre på ikke-x86-arkitekturer. I løpet av årene med utvikling har full emuleringsstøtte blitt lagt til for 14 maskinvarearkitekturer, antallet emulerte maskinvareenheter har oversteget 400. Som forberedelse til versjon 5.0 er det gjort mer enn 2800 endringer fra 232 utviklere.

Nøkkel forbedringerlagt til i QEMU 5.0:

  • Evnen til å videresende deler av filsystemet til vertsmiljøet til gjestesystemet ved hjelp av virtiofsd. Gjestesystemet kan montere en katalog merket for eksport på vertssystemsiden, noe som i stor grad forenkler organiseringen av delt tilgang til kataloger i virtualiseringssystemer. I motsetning til bruken av nettverksfilsystemer som NFS og virtio-9P, lar virtiofs deg oppnå ytelse nær et lokalt filsystem;
  • Støtte live migrering av data fra eksterne prosesser ved å bruke QEMU D-Bus;
  • Brukervennlighet minnebackends for å sikre driften av hoved-RAM-en til gjestesystemet. Backend er spesifisert ved å bruke "-machine memory-backend"-alternativet;
  • Nytt "komprimer"-filter, som kan brukes til å lage sikkerhetskopier av komprimerte bilder;
  • Kommandoen "qemu-img measure" kan nå fungere med LUKS-bilder, og alternativet "--target-is-zero" er lagt til kommandoen "qemu-img convert" for å hoppe over nullstilling av målbildet;
  • Lagt til eksperimentell støtte for qemu-storage-daemon-prosessen, som gir tilgang til QEMU-blokknivået og QMP-kommandoer, inkludert kjøring av blokkenheter og den innebygde NBD-serveren, uten å måtte kjøre en full virtuell maskin;
  • ARM-arkitekturemulatoren har lagt til muligheten til å emulere Cortex-M7 CPUer og gir støtte for tacoma-bmc, Netduino Plus 2 og Orangepi PC-kort. Lagt til støtte for vTPM og virtio-iommu-enheter til 'virt'-emulerte maskiner. Muligheten til å bruke AArch32-vertssystemer til å kjøre KVM-gjestemiljøer er avviklet. Støtte for emulering av følgende arkitekturfunksjoner er implementert:
    • ARMv8.1: HEV, VMID16, PAN, PMU
    • ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3: RCPC, CCIDX
    • ARMv8.4: PMU, RCPC
  • Lagt til støtte for grafikkkonsoll til HPPA-arkitekturemulatoren ved å bruke HP Artist-grafikkenheten;
  • Lagt til støtte for GINVT (Global Invalidation TLB)-instruksjonen til MIPS-arkitekturemulatoren;
  • Emulering av KVM-maskinvareakselerasjonsverktøy for å kjøre gjestesystemer er lagt til PowerPC-arkitekturemulatoren for 'powernv'-maskiner
    KVM med klassisk TCG-kodegenerator (Tiny Code Generator). For å emulere vedvarende minne er støtte for NVDIMM-er som gjenspeiles i filen lagt til. For 'pseries'-maskiner er behovet for å starte på nytt blitt fjernet for å koordinere driften av XIVE/XICS-avbruddskontrollerne i "ic-mode=dual"-modus;

  • RISC-V-arkitekturemulatoren for 'virt' og 'sifive_u'-kort gir støtte for standard Linux syscon-drivere for strøm- og omstartsadministrasjon. Goldfish RTC-støtte er lagt til for 'virt'-brettet. Lagt til eksperimentell implementering av hypervisorutvidelser;
  • AIS (Adapter Interrupt Suppression)-støtte er lagt til s390-arkitekturemulatoren når den brukes i KVM-modus.

Kilde: opennet.ru

Legg til en kommentar