Llançament de l'emulador QEMU 5.0

Presentat llançament del projecte QEMU 5.0. Com a emulador, QEMU us permet executar un programa compilat per a una plataforma de maquinari en un sistema amb una arquitectura completament diferent, per exemple, executar una aplicació ARM en un PC compatible amb x86. En el mode de virtualització a QEMU, el rendiment de l'execució de codi en un entorn aïllat és proper al sistema natiu a causa de l'execució directa d'instruccions a la CPU i l'ús de l'hipervisor Xen o mòdul KVM.

El projecte va ser creat originalment per Fabrice Bellard per oferir la possibilitat d'executar executables Linux compilats per a la plataforma x86 en arquitectures que no són x86. Al llarg dels anys de desenvolupament, es va afegir suport per a l'emulació completa per a 14 arquitectures de maquinari, el nombre de dispositius de maquinari emulats va superar els 400. En preparar la versió 5.0, es van fer més de 2800 canvis de 232 desenvolupadors.

Clau milloresafegit a QEMU 5.0:

  • La capacitat de reenviar part del sistema de fitxers de l'entorn amfitrió al sistema convidat utilitzant virtufsd. El sistema convidat pot muntar un directori marcat per a l'exportació al costat del sistema amfitrió, cosa que simplifica molt l'organització de l'accés compartit als directoris en sistemes de virtualització. A diferència de l'ús de sistemes de fitxers de xarxa com NFS i virtio-9P, virtiofs us permet aconseguir un rendiment proper a un sistema de fitxers local;
  • suport migració en directe de dades de processos externs mitjançant el D-Bus QEMU;
  • Usabilitat backends de memòria per garantir el funcionament de la memòria RAM principal del sistema convidat. El backend s'especifica mitjançant l'opció "-machine memory-backend";
  • Nou filtre "comprimir", que es pot utilitzar per crear còpies de seguretat d'imatges comprimides;
  • L'ordre "qemu-img measure" ara pot funcionar amb imatges LUKS, i l'opció "--target-is-zero" s'ha afegit a l'ordre "qemu-img convert" per ometre la posada a zero de la imatge de destinació;
  • S'ha afegit suport experimental per al procés qemu-storage-daemon, proporcionant accés al nivell de bloc QEMU i ordres QMP, inclosos els dispositius de bloc en execució i el servidor NBD integrat, sense haver d'executar una màquina virtual completa;
  • L'emulador d'arquitectura ARM ha afegit la capacitat d'emular les CPU Cortex-M7 i proporciona suport per a plaques de PC tacoma-bmc, Netduino Plus 2 i Orangepi. S'ha afegit suport per a dispositius vTPM i virtio-iommu a màquines emulades "virt". La possibilitat d'utilitzar sistemes host AArch32 per executar entorns convidats KVM ha quedat obsoleta. S'ha implementat el suport per a l'emulació de les característiques de l'arquitectura següents:
    • ARMv8.1: VHE, VMID16, PA, PMU
    • ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3: RCPC, CCIDX
    • ARMv8.4: PMU, RCPC
  • S'ha afegit compatibilitat amb la consola gràfica a l'emulador d'arquitectura HPPA mitjançant el dispositiu gràfic HP Artist;
  • S'ha afegit suport per a la instrucció GINVT (Global Invalidation TLB) a l'emulador d'arquitectura MIPS;
  • S'ha afegit l'emulació d'eines d'acceleració de maquinari KVM per executar sistemes convidats a l'emulador d'arquitectura PowerPC per a màquines "powernv"
    KVM amb el generador de codi TCG clàssic (Tiny Code Generator). Per emular la memòria persistent, s'ha afegit suport per a NVDIMM reflectits al fitxer. Per a les màquines 'pseries', s'ha eliminat la necessitat de reiniciar per coordinar el funcionament dels controladors d'interrupció XIVE/XICS en el mode “ic-mode=dual”;

  • L'emulador d'arquitectura RISC-V per a les plaques "virt" i "sifive_u" ofereix suport per als controladors syscon de Linux estàndard per a la gestió de l'alimentació i el reinici. S'ha afegit el suport de Goldfish RTC per al tauler "virt". S'ha afegit la implementació experimental d'extensions d'hipervisor;
  • S'ha afegit suport AIS (Supressió d'interrupcions de l'adaptador) a l'emulador d'arquitectura s390 quan funciona en mode KVM.

Font: opennet.ru

Afegeix comentari