QEMU 7.2 -emulaattorin julkaisu

QEMU 7.2 -projektin julkaisu esitellään. Emulaattorina QEMU mahdollistaa yhdelle laitteistoalustalle rakennetun ohjelman suorittamisen järjestelmässä, jossa on täysin erilainen arkkitehtuuri, esimerkiksi ARM-sovellusta x86-yhteensopivalla PC:llä. QEMU:n virtualisointitilassa koodin suoritus eristetyssä ympäristössä on lähellä laitteistojärjestelmää, koska käskyt suoritetaan suoraan suorittimessa ja Xen-hypervisor- tai KVM-moduulia käytetään.

Projektin loi alun perin Fabrice Bellard salliakseen x86-alustalle rakennettujen Linux-suoritustiedostojen ajamisen muissa kuin x86-arkkitehtuureissa. Vuosien kehitystyön aikana täysi emulointituki on lisätty 14 laitteistoarkkitehtuurille, emuloitujen laitteistojen määrä on ylittänyt 400. Version 7.2 valmistelemiseksi on tehty yli 1800 muutosta 205 kehittäjältä.

QEMU 7.2:ssa lisätyt tärkeimmät parannukset:

  • Klassisen TCG-koodigeneraattorin x86-emulaattori on lisännyt tuen AVX-, AVX2-, F16C-, FMA3- ja VAES-käskyille sekä SSE-käskyjen käyttöön liittyviä suorituskyvyn optimointeja. KVM:lle on lisätty tuki virtuaalikoneen poistumisten seurantamekanismille ("notify vmexit"), jonka avulla voit ohittaa suorittimen virheet, jotka voivat johtaa jumiutumiseen.
  • ARM-emulaattori tukee Cortex-A35-suoritin- ja prosessorilaajennuksia ETS (Enhanced Translation Synchronization), PMUv3p5 (PMU Extensions 3.5), GTG (Guest Translation Granule 4KB, 16KB, 64KB), HAFDBS (pääsylippujen laitteistoohjaus) ja "likainen" tila. ja E0PD (estää EL0:n pääsyn osioituihin osoitekarttoihin).
  • LoongArch-emulaattori lisää tuen fw_cfg DMA:lle, hot-plug-muistille ja TPM (Trusted Platform Module) -laiteemulaatiolle.
  • OpenRISC-arkkitehtuuriemulaattori toteuttaa 'virt'-alustan laitteiden testaamiseen ja niiden käyttämiseen jatkuvassa integraatiojärjestelmissä. Tuki klassisen TCG (Tiny Code Generator) -koodigeneraattorin monisäikeiselle suoritukselle on otettu käyttöön.
  • Virt-emuloitujen koneiden RISC-V-arkkitehtuurin emulaattori pystyy lataamaan laiteohjelmiston pflashista S-tilassa. Parannettu työskentely laitepuun kanssa.
  • 390x-emulaattori tukee MSA5:tä (Message-Security-Assist Extension 5 PRNO-käskyllä ​​pseudosatunnaislukujen luomiseen), KIMD/KLM-käskyjä (SHA-512:n toteutus) ja laajennettua zPCI-tulkintaa vierasjärjestelmille, jotka perustuvat KVM-hypervisoriin. .
  • Muistin kanssa työskentelyn taustaohjelmat tarjoavat muistin ennakkovarauksen ottaen huomioon NUMA-arkkitehtuurin.
  • LUKS-salattujen lohkolaitteiden otsikkotarkistusta on tehostettu, ja kyky luoda LUKS-kuvia macOS:ssä on lisätty.
  • 9pfs-taustajärjestelmä, joka mahdollistaa Plan 9 -verkkotiedostojärjestelmän käytön virtuaalikoneen toiseen pääsyyn, siirtyi käyttämään GHashTable-tiivistettä tunnistetaulukossa, mikä joissakin tilanteissa johti 6-12-kertaiseen suorituskyvyn kasvuun.
  • Lisätty uudet netdev-taustaohjelmien stream ja dgram.
  • FreeBSD-tuki on lisätty ARM-pohjaisten vieraiden agenttiin.
  • MacOS:n GUI-versiot tarjoavat mahdollisuuden sisällyttää Cocoaan ja SDL/GTK:hen perustuvat rajapinnat yhteen suoritettavaan tiedostoon.
  • Sisäänrakennettu alimoduuli “slirp” on poistettu, sen sijaan on suositeltavaa käyttää libslirp-järjestelmäkirjastoa.
  • Testauskyvyn puutteen vuoksi tuki isäntäjärjestelmille, joissa on 32-bittiset MIPS-prosessorit, jotka käyttävät Big Endian -tavujärjestystä, on poistettu käytöstä.

Lähde: opennet.ru

Lisää kommentti