Lansarea emulatorului QEMU 4.2

Introdus lansarea proiectului QEMU 4.2. 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 4.2, au fost făcute peste 2200 de modificări de la 198 de dezvoltatori.

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

  • Generatorul de cod clasic TCG (Tiny Code Generator) acceptă pluginuri pentru monitorizarea instrucțiunilor procesorului și adreselor de memorie;
  • În driverul de dispozitiv bloc NBD (Dispozitiv de blocare a rețelei) oferă o procesare mai eficientă a cererilor de copiere la citire. Codul serverului NBD este optimizat pentru copierea imaginilor rare (cu goluri). Au fost aduse îmbunătățiri generale implementării clientului și serverului NBD;
  • Performanță îmbunătățită a criptării discului LUKS folosind algoritmul AES-XTS;
  • vfio-pci a adăugat suport pentru proprietatea „failover_pair_id” pentru a simplifica migrarea dispozitivelor VFIO;
  • virtio-mmio adaugă suport pentru standardul 2 compatibil cu virtio și mecanismul de coadă virtuală împachetat definit în specificația virtio 1.1 (coadă virtuală) pentru a face schimb de date cu un dispozitiv I/O virtual în modul batch;
  • Un nou tip de mașină emulată, „microvm”, a fost adăugat la emulatorul x86, folosind virtio-mmio în loc de PCI pentru a optimiza performanța. S-a implementat capacitatea de a activa și dezactiva VMX folosind steagurile „-cpu”. S-a adăugat suport pentru emularea extensiilor AVX512 BFloat16. Este oferit suport pentru noile modele de procesoare Denverton (SoC server bazat pe Atom), Snowridge și Dhyana. Suport stabilizat pentru macOS Hypervisor Framework (“-accel hvf”);
  • Emulatorul arhitecturii ARM a adăugat suport pentru emularea SoC Aspeed AST2600 ("ast2600-evb"). S-a adăugat suport pentru tehnologia Semihosting 2.0 cu extensii STDOUT_STDERR/EXIT_EXTENDED, care permite dispozitivului emulat să folosească stdout, stderr și stdin pentru a crea fișiere pe partea gazdă. KVM a adăugat capacitatea de a utiliza mai mult de 256 de procesoare și oferă suport pentru instrucțiunile SVE SIMD. În mașinile virtuale cu tipul „virtute» a fost implementat suportul pentru conectarea la cald a memoriei. Performanță îmbunătățită de emulare folosind generatorul de cod TCG.
  • Emulatorul de arhitectură PowerPC are acum capacitatea de a emula instrucțiunile POWER9 mffsce, mffscrn și mffscrni. Mașinile „powernv” emulate adaugă suport pentru dispozitivele de sistem Homer și OCC SRAM;
  • În emulatorul de arhitectură RISC-V, a fost adăugată opțiunea „-initrd” și abilitatea de a vizualiza starea completă a arhitecturii în depanator;
  • Emulatorul de arhitectură s390 acceptă instrucțiuni IEP (Instruction Execution Protection);
  • Emulatorul de arhitectură 68k a adăugat capacitatea inițială de a emula Macintosh Quadro 800 și sistemele clasice NeXTcube;
  • Emulatorul de arhitectură xtensa a adăugat un nou tip de mașină emulată „virt” și a implementat suport pentru ABI call0 pentru emularea spațiului utilizator.

Sursa: opennet.ru

Adauga un comentariu