Rilascio dell'emulatore QEMU 5.0

Introdotto rilascio del progetto QEMU 5.0. Come emulatore, QEMU consente di eseguire un programma compilato per una piattaforma hardware su un sistema con un'architettura completamente diversa, ad esempio, eseguire un'applicazione ARM su un PC compatibile con x86. Nella modalità di virtualizzazione in QEMU, le prestazioni di esecuzione del codice in un ambiente isolato sono vicine al sistema nativo grazie all'esecuzione diretta delle istruzioni sulla CPU e all'uso dell'hypervisor Xen o del modulo KVM.

Il progetto è stato originariamente creato da Fabrice Bellard per consentire agli eseguibili Linux creati per la piattaforma x86 di funzionare su architetture non x86. Nel corso degli anni di sviluppo, è stato aggiunto il supporto completo dell'emulazione per 14 architetture hardware, il numero di dispositivi hardware emulati ha superato i 400. In preparazione alla versione 5.0, sono state apportate più di 2800 modifiche da 232 sviluppatori.

Chiave miglioramentiaggiunto in QEMU 5.0:

  • La possibilità di inoltrare parte del file system dell'ambiente host al sistema guest utilizzando virtiofsd. Il sistema ospite può montare una directory contrassegnata per l'esportazione sul lato del sistema host, il che semplifica notevolmente l'organizzazione dell'accesso condiviso alle directory nei sistemi di virtualizzazione. A differenza dell'uso di file system di rete come NFS e virtio-9P, virtiofs consente di ottenere prestazioni vicine a quelle di un file system locale;
  • Sostegno migrazione in tempo reale dei dati da processi esterni utilizzando il D-Bus QEMU;
  • Usabilità backend di memoria per garantire il funzionamento della RAM principale del sistema ospite. Il backend viene specificato utilizzando l'opzione “-machine memory-backend”;
  • Nuovo filtro "comprimi", che può essere utilizzato per creare backup di immagini compresse;
  • Il comando "qemu-img Measure" ora può funzionare con le immagini LUKS e l'opzione "--target-is-zero" è stata aggiunta al comando "qemu-img convert" per saltare l'azzeramento dell'immagine di destinazione;
  • Aggiunto supporto sperimentale per il processo qemu-storage-daemon, fornendo accesso al livello di blocco QEMU e ai comandi QMP, inclusa l'esecuzione di dispositivi a blocchi e il server NBD integrato, senza dover eseguire una macchina virtuale completa;
  • L'emulatore dell'architettura ARM ha aggiunto la possibilità di emulare CPU Cortex-M7 e fornisce supporto per schede PC tacoma-bmc, Netduino Plus 2 e Orangepi. Aggiunto supporto per dispositivi vTPM e virtio-iommu alle macchine emulate "virt". La possibilità di utilizzare i sistemi host AArch32 per eseguire ambienti guest KVM è stata deprecata. È stato implementato il supporto per l'emulazione delle seguenti funzionalità dell'architettura:
    • ARMv8.1: HEV, VMID16, PAN, PMU
    • ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3: RCPC, CCIDX
    • ARMv8.4: PMU, RCPC
  • Aggiunto il supporto della console grafica all'emulatore dell'architettura HPPA utilizzando il dispositivo grafico HP Artist;
  • Aggiunto il supporto per l'istruzione GINVT (Global Invalidation TLB) all'emulatore dell'architettura MIPS;
  • L'emulazione degli strumenti di accelerazione hardware KVM per l'esecuzione dei sistemi guest è stata aggiunta all'emulatore dell'architettura PowerPC per le macchine "powernv"
    KVM con il classico generatore di codici TCG (Tiny Code Generator). Per emulare la memoria persistente, è stato aggiunto il supporto per i NVDIMM riflessi nel file. Per le macchine 'pseries' è stata eliminata la necessità di riavviare per coordinare il funzionamento degli interrupt controller XIVE/XICS in modalità “ic-mode=dual”;

  • L'emulatore dell'architettura RISC-V per le schede "virt" e "sifive_u" fornisce supporto per i driver syscon Linux standard per la gestione dell'alimentazione e del riavvio. È stato aggiunto il supporto Goldfish RTC per la scheda "virt". Aggiunta implementazione sperimentale delle estensioni dell'hypervisor;
  • Il supporto AIS (Adapter Interrupt Suppression) è stato aggiunto all'emulatore dell'architettura s390 quando si opera in modalità KVM.

Fonte: opennet.ru

Aggiungi un commento