QEMU 7.2 emuliatoriaus išleidimas

Pristatytas QEMU 7.2 projekto leidimas. Kaip emuliatorius, QEMU leidžia paleisti programą, sudarytą vienai aparatinės įrangos platformai, sistemoje su visiškai kitokia architektūra, pavyzdžiui, paleisti ARM programą su x86 suderinamame kompiuteryje. Virtualizavimo režimu QEMU kodo vykdymo našumas izoliuotoje aplinkoje yra artimas aparatinės įrangos sistemos našumui dėl tiesioginio komandų vykdymo CPU ir Xen hipervizoriaus arba KVM modulio naudojimo.

Iš pradžių projektą sukūrė Fabrice'as Bellardas, kad „Linux“ vykdomieji failai, sukurti x86 platformai, galėtų veikti ne x86 architektūrose. Per kūrimo metus pilnas emuliacijos palaikymas buvo pridėtas 14 techninės įrangos architektūrų, emuliuojamų aparatūros įrenginių skaičius viršijo 400. Rengiantis 7.2 versijai, iš 1800 kūrėjų buvo atlikta daugiau nei 205 pakeitimų.

Pagrindiniai QEMU 7.2 patobulinimai:

  • Klasikinio TCG kodo generatoriaus x86 emuliatorius papildė AVX, AVX2, F16C, FMA3 ir VAES instrukcijų palaikymą, taip pat našumo optimizavimą, susijusį su SSE instrukcijų naudojimu. KVM buvo pridėtas virtualios mašinos išėjimų stebėjimo mechanizmas („pranešti vmexit“), kuris leidžia apeiti procesoriaus klaidas, dėl kurių gali užstrigti.
  • ARM emuliatorius palaiko Cortex-A35 procesoriaus ir procesoriaus plėtinius ETS (patobulintas vertimo sinchronizavimas), PMUv3p5 (PMU plėtiniai 3.5), GTG (svečio vertimo granulė 4KB, 16KB, 64KB), HAFDBS (aparatinės įrangos prieigos vėliavėlės valdymas ir „nešvarus“ būsena). ir E0PD (užkertamas kelias EL0 prieigai prie suskirstytų adresų žemėlapių).
  • „LoongArch“ emuliatorius palaiko fw_cfg DMA, karštojo prijungimo atmintį ir TPM (Patikimos platformos modulio) įrenginių emuliaciją.
  • OpenRISC architektūros emuliatorius įgyvendina „virt“ platformą, skirtą įrenginiams testuoti ir naudoti juos nuolatinės integracijos sistemose. Įdiegtas klasikinio TCG (Tiny Code Generator) kodų generatoriaus kelių gijų vykdymo palaikymas.
  • RISC-V architektūros emuliatorius „virt“ emuliuojamose mašinose turi galimybę įkelti programinę-aparatinę įrangą iš pflash S režimu. Patobulintas darbas su prietaisų medžiu.
  • 390x emuliatorius palaiko MSA5 (Message-Security-Assist Extension 5 su PRNO instrukcija, skirta generuoti pseudoatsitiktinius skaičius), KIMD/KLM instrukcijas (SHA-512 diegimas) ir išplėstinį zPCI interpretavimą svečių sistemoms, pagrįstoms KVM hipervizoriumi. .
  • Užpakalinės programos, skirtos darbui su atmintimi, iš anksto paskirsto atmintį, atsižvelgiant į NUMA architektūrą.
  • Sustiprintas LUKS šifruotų blokų įrenginių antraščių tikrinimas ir pridėta galimybė kurti LUKS vaizdus „macOS“.
  • 9pfs backend, leidžianti naudoti 9 plano tinklo failų sistemą norint pasiekti vieną virtualią mašiną prie kitos, perėjo prie GHashTable maišos naudojimo identifikatorių lentelėje, o tai kai kuriose situacijose lėmė 6–12 kartų didesnį našumą.
  • Pridėtas naujas netdev backends srautas ir dgram.
  • FreeBSD palaikymas buvo pridėtas prie agento, skirto ARM pagrįstiems svečiams.
  • „MacOS“ skirtos GUI versijos suteikia galimybę į vieną vykdomąjį failą įtraukti sąsajas, pagrįstas „Cocoa“ ir SDL/GTK.
  • Integruotas submodulis „slirp“ pašalintas, vietoje jo rekomenduojama naudoti libslirp sistemos biblioteką.
  • Dėl testavimo galimybių trūkumo pagrindinių sistemų su 32 bitų MIPS procesoriais, naudojantys Big Endian baitų tvarką, palaikymas nebenaudojamas.

Šaltinis: opennet.ru

Добавить комментарий