Lëshimi i emulatorit QEMU 7.2

Është prezantuar publikimi i projektit QEMU 7.2. Si emulator, QEMU ju lejon të ekzekutoni një program të përpiluar për një platformë harduerike në një sistem me një arkitekturë krejtësisht të ndryshme, për shembull, të ekzekutoni një aplikacion ARM në një PC të pajtueshëm me x86. Në modalitetin e virtualizimit në QEMU, performanca e ekzekutimit të kodit në një mjedis të izoluar është afër asaj të një sistemi hardware për shkak të ekzekutimit të drejtpërdrejtë të udhëzimeve në CPU dhe përdorimit të hipervizorit Xen ose modulit KVM.

Projekti u krijua fillimisht nga Fabrice Bellard për të lejuar ekzekutuesit Linux të ndërtuar për platformën x86 të ekzekutohen në arkitektura jo-x86. Gjatë viteve të zhvillimit, është shtuar mbështetje e plotë emulimi për 14 arkitektura harduerike, numri i pajisjeve harduerike të emuluara ka kaluar 400. Në përgatitje për versionin 7.2, u bënë më shumë se 1800 ndryshime nga 205 zhvillues.

Përmirësimet kryesore të shtuara në QEMU 7.2:

  • Emulatori x86 në gjeneratorin klasik të kodit TCG ka shtuar mbështetje për udhëzimet AVX, AVX2, F16C, FMA3 dhe VAES, si dhe optimizime të performancës në lidhje me përdorimin e udhëzimeve SSE. Për KVM, është shtuar mbështetje për një mekanizëm për gjurmimin e daljeve të makinës virtuale ("notify vmexit"), i cili ju lejon të anashkaloni gabimet në CPU që mund të çojnë në varje.
  • Emulatori ARM mbështet CPU-në Cortex-A35 dhe zgjerimet e procesorit ETS (Sinkronizimi i Përmirësuar i Përkthimit), PMUv3p5 (Zgjerimet PMU 3.5), GTG (Guest Translation Granule 4KB, 16KB, 64KB), HAFDBS (hardware control of access flag) dhe E0PD (parandalimi i aksesit EL0 në hartat e adresave të ndara).
  • Emulatori LoongArch shton mbështetje për fw_cfg DMA, memorie me prizë të nxehtë dhe emulimin e pajisjes TPM (Trusted Platform Module).
  • Emulatori i arkitekturës OpenRISC zbaton platformën 'virt' për testimin e pajisjeve dhe përdorimin e tyre në sistemet e integrimit të vazhdueshëm. Është implementuar mbështetja për ekzekutimin me shumë fije të gjeneratorit klasik të kodit TCG (Tiny Code Generator).
  • Emulatori i arkitekturës RISC-V në makinat e emuluara 'virt' ka aftësinë të ngarkojë firmware nga pflash në modalitetin S. Puna e përmirësuar me pemën e pajisjes.
  • Emulatori 390x ofron mbështetje për MSA5 (Message-Security-Assist Extension 5 me instruksionin PRNO për gjenerimin e numrave pseudo të rastësishëm), udhëzimet KIMD/KLM (zbatimi i SHA-512) dhe interpretimi i zgjeruar zPCI për sistemet e ftuar bazuar në hipervisorin KVM .
  • Backends për të punuar me memorie ofrojnë para-alokimin e kujtesës duke marrë parasysh arkitekturën NUMA.
  • Kontrolli i kokës së pajisjeve të bllokut të koduar LUKS është forcuar dhe është shtuar aftësia për të krijuar imazhe LUKS në macOS.
  • Backend-i 9pfs, i cili lejon përdorimin e sistemit të skedarëve të rrjetit Plan 9 për të hyrë në një makinë virtuale në tjetrën, kaloi në përdorimin e hash-it GHashTable në tabelën e identifikuesve, gjë që në disa situata çoi në një rritje 6-12 herë të performancës.
  • U shtua rryma dhe dgram i ri i backendeve të netdev.
  • Mbështetja e FreeBSD është shtuar në agjentin për mysafirët me bazë ARM.
  • Ndërtimet GUI për macOS ofrojnë mundësinë për të përfshirë ndërfaqe të bazuara në Cocoa dhe SDL/GTK në një skedar të ekzekutueshëm.
  • Nënmoduli i integruar "slirp" është hequr, në vend të kësaj rekomandohet përdorimi i bibliotekës së sistemit libslirp.
  • Për shkak të mungesës së aftësisë së testimit, mbështetja për sistemet pritës me procesorë MIPS 32-bit që përdorin rendin e bajtit Big Endian është zhvlerësuar.

Burimi: opennet.ru

Shto një koment