Lansarea emulatorului QEMU 5.0

Introdus lansarea proiectului QEMU 5.0. Ca emulator, QEMU vă permite să rulați un program compilat pentru o platformă hardware pe un sistem cu o arhitectură complet diferită, de exemplu, să rulați o aplicație ARM pe un PC compatibil x86. În modul de virtualizare în QEMU, performanța execuției codului într-un mediu izolat este apropiată de sistemul nativ datorită execuției directe a instrucțiunilor pe CPU și utilizării hypervisorului Xen sau a modulului KVM.

Proiectul a fost creat inițial de Fabrice Bellard pentru a oferi capacitatea de a rula executabile Linux compilate pentru platforma x86 pe arhitecturi non-x86. De-a lungul anilor de dezvoltare, a fost adăugat suport pentru emulare completă pentru 14 arhitecturi hardware, numărul de dispozitive hardware emulate a depășit 400. În pregătirea versiunii 5.0, au fost făcute peste 2800 de modificări de la 232 de dezvoltatori.

Cheie îmbunătățiriadăugat în QEMU 5.0:

  • Abilitatea de a redirecționa o parte din sistemul de fișiere al mediului gazdă către sistemul oaspete folosind virtiofsd. Sistemul oaspete poate monta un director marcat pentru export pe partea sistemului gazdă, ceea ce simplifică foarte mult organizarea accesului partajat la directoare în sistemele de virtualizare. Spre deosebire de utilizarea sistemelor de fișiere de rețea, cum ar fi NFS și virtio-9P, virtiofs vă permite să obțineți performanțe apropiate de un sistem de fișiere local;
  • Sprijini migrarea în direct a datelor din procese externe folosind QEMU D-Bus;
  • Utilizabilitate backend-uri de memorie pentru a asigura funcționarea RAM-ului principal al sistemului guest. Backend-ul este specificat folosind opțiunea „-machine memory-backend”;
  • Noul filtru de „comprimare”, care poate fi folosit pentru a crea copii de rezervă ale imaginilor comprimate;
  • Comanda „qemu-img measure” poate funcționa acum cu imagini LUKS, iar opțiunea „--target-is-zero” a fost adăugată la comanda „qemu-img convert” pentru a sări peste zeroul imaginii țintă;
  • S-a adăugat suport experimental pentru procesul qemu-storage-daemon, oferind acces la nivelul blocului QEMU și la comenzile QMP, inclusiv la rularea dispozitivelor bloc și la serverul NBD încorporat, fără a fi nevoie să rulați o mașină virtuală completă;
  • Emulatorul arhitecturii ARM a adăugat capacitatea de a emula procesoarele Cortex-M7 și oferă suport pentru plăcile PC tacoma-bmc, Netduino Plus 2 și Orangepi. S-a adăugat suport pentru dispozitivele vTPM și virtio-iommu la mașinile emulate „virt”. Capacitatea de a utiliza sisteme gazdă AArch32 pentru a rula medii invitate KVM a fost depreciată. A fost implementat suport pentru emularea următoarelor caracteristici ale arhitecturii:
    • ARMv8.1: HEV, VMID16, PAN, PMU
    • ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3: RCPC, CCIDX
    • ARMv8.4: PMU, RCPC
  • S-a adăugat suport pentru consolă grafică la emulatorul de arhitectură HPPA folosind dispozitivul grafic HP Artist;
  • S-a adăugat suport pentru instrucțiunea GINVT (Global Invalidation TLB) la emulatorul arhitecturii MIPS;
  • Emularea instrumentelor de accelerare hardware KVM pentru rularea sistemelor invitate a fost adăugată la emulatorul de arhitectură PowerPC pentru mașinile „powernv”
    KVM cu generator clasic de cod TCG (Tiny Code Generator). Pentru a emula memoria persistentă, a fost adăugat suport pentru NVDIMM reflectate în fișier. Pentru mașinile „pseries”, necesitatea repornirii a fost eliminată pentru a coordona funcționarea controlerelor de întrerupere XIVE/XICS în modul „ic-mode=dual”;

  • Emulatorul de arhitectură RISC-V pentru plăcile „virt” și „sifive_u” oferă suport pentru driverele standard Linux syscon pentru gestionarea pornirii și repornirii. Suportul Goldfish RTC a fost adăugat pentru placa „virt”. S-a adăugat implementarea experimentală a extensiilor hypervisor;
  • Suportul AIS (Adapter Interrupt Suppression) a fost adăugat la emulatorul de arhitectură s390 atunci când funcționează în modul KVM.

Sursa: opennet.ru

Adauga un comentariu