Udgivelse af QEMU 5.0-emulatoren

Introduceret projektudgivelse QEMU 5.0. Som emulator giver QEMU dig mulighed for at køre et program bygget til én hardwareplatform på et system med en helt anden arkitektur, for eksempel køre en ARM-applikation på en x86-kompatibel pc. I virtualiseringstilstanden i QEMU er ydeevnen af ​​kodekørsel i et isoleret miljø tæt på det oprindelige system på grund af den direkte udførelse af instruktioner på CPU'en og brugen af ​​Xen hypervisor eller KVM-modulet.

Projektet blev oprindeligt skabt af Fabrice Bellard for at tillade Linux-eksekverbare filer bygget til x86-platformen til at køre på ikke-x86-arkitekturer. Gennem årenes udvikling er der blevet tilføjet fuld emuleringsunderstøttelse for 14 hardwarearkitekturer, antallet af emulerede hardwareenheder har oversteget 400. Som forberedelse til version 5.0 er der foretaget mere end 2800 ændringer fra 232 udviklere.

Nøgle forbedring, tilføjet i QEMU 5.0:

  • Evnen til at videresende en del af værtsmiljøets filsystem til gæstesystemet ved hjælp af virtiofsd. Gæstesystemet kan montere en mappe markeret til eksport på værtssystemsiden, hvilket i høj grad forenkler organiseringen af ​​delt adgang til mapper i virtualiseringssystemer. I modsætning til brugen af ​​netværksfilsystemer såsom NFS og virtio-9P, giver virtiofs dig mulighed for at opnå ydeevne tæt på et lokalt filsystem;
  • Support live migrering af data fra eksterne processer ved hjælp af QEMU D-Bus;
  • Anvendelighed hukommelse backends for at sikre driften af ​​gæstesystemets hoved-RAM. Backend er specificeret ved hjælp af "-machine memory-backend" mulighed;
  • Nyt "komprimerings"-filter, som kan bruges til at lave komprimerede billedbackups;
  • Kommandoen "qemu-img measure" kan nu arbejde med LUKS-billeder, og "--target-is-zero"-indstillingen er blevet tilføjet til kommandoen "qemu-img convert" for at springe over nulstilling af målbilledet;
  • Tilføjet eksperimentel support til qemu-storage-daemon-processen, der giver adgang til QEMU-blokniveauet og QMP-kommandoer, inklusive kørsel af blokenheder og den indbyggede NBD-server, uden at skulle køre en fuld virtuel maskine;
  • ARM-arkitekturemulatoren har tilføjet muligheden for at emulere Cortex-M7 CPU'er og understøtter tacoma-bmc, Netduino Plus 2 og Orangepi PC-kort. Tilføjet understøttelse af vTPM og virtio-iommu enheder til 'virt' emulerede maskiner. Muligheden for at bruge AArch32-værtssystemer til at køre KVM-gæstemiljøer er blevet forældet. Understøttelse af emulering af følgende arkitekturfunktioner er blevet implementeret:
    • ARMv8.1: HEV, VMID16, PAN, PMU
    • ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3: RCPC, CCIDX
    • ARMv8.4: PMU, RCPC
  • Tilføjet grafikkonsolunderstøttelse til HPPA-arkitekturemulatoren ved hjælp af HP Artist-grafikenheden;
  • Tilføjet understøttelse af GINVT-instruktionen (Global Invalidation TLB) til MIPS-arkitekturemulatoren;
  • Emulering af KVM-hardwareaccelerationsværktøjer til at køre gæstesystemer er blevet tilføjet til PowerPC-arkitekturemulatoren til 'powernv'-maskiner
    KVM med klassisk TCG-kodegenerator (Tiny Code Generator). For at efterligne vedvarende hukommelse er der tilføjet understøttelse af NVDIMM'er, der afspejles i filen. For 'pseries' maskiner er behovet for at genstarte blevet fjernet for at koordinere driften af ​​XIVE/XICS interrupt-controllere i "ic-mode=dual"-tilstand;

  • RISC-V-arkitekturemulatoren til 'virt'- og 'sifive_u'-kortene understøtter standard Linux syscon-drivere til strøm- og genstartsstyring. Goldfish RTC-understøttelse er blevet tilføjet til 'virt'-brættet. Tilføjet eksperimentel implementering af hypervisor-udvidelser;
  • AIS (Adapter Interrupt Suppression)-understøttelse er blevet tilføjet til s390-arkitekturemulatoren, når den kører i KVM-tilstand.

Kilde: opennet.ru

Tilføj en kommentar