ĂshtĂ« prezantuar lĂ«shimi i projektit QEMU 7.2. Si emulator, QEMU mundĂ«son ekzekutimin e njĂ« programi tĂ« ndĂ«rtuar pĂ«r njĂ« platformĂ« harduware nĂ« njĂ« sistem me njĂ« arkitekturĂ« tĂ« ndryshme, pĂ«r shembull, tĂ« drejtojĂ« njĂ« aplikacion pĂ«r ARM nĂ« njĂ« PC tĂ« pajtueshĂ«m me x86. NĂ« modin e virtualizimit, performanca e ekzekutimit tĂ« kodit nĂ« njĂ« ambient tĂ« izoluar Ă«shtĂ« afĂ«r sistemit harduerik falĂ« ekzekutimit tĂ« drejtpĂ«rdrejtĂ« tĂ« instruksioneve nĂ« CPU dhe angazhimit tĂ« hipervizorit Xen ose modulit KVM.
Fillimisht projekti u krijua nga Fabrice Bellard me qëllimin për të mundësuar ekzekutimin e skedave të ekzekutueshme Linux të ndërtuara për platformën x86 në arkitektura të ndryshme nga x86. Gjatë viteve të zhvillimit, është shtuar mbështetje për emulimin e plotë për 14 arkitektura harduerike, ndërsa numri i pajisjeve harduerike të emuluara e kalon 400. Gjatë përgatitjes së versionit 7.2 janë bërë më shumë se 1800 ndryshime nga 205 zhvillues.
Përmirësimet kryesore të shtuar në QEMU 7.2:
- NĂ« emulatorin e arkitekturĂ«s x86, nĂ« gjeneratorin klasik tĂ« kodit TCG Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r instruksionet AVX, AVX2, F16C, FMA3 dhe VAES, si dhe Ă«shtĂ« optimizuar performanca e lidhur me pĂ«rdorimin e instruksioneve SSE. PĂ«r KVM Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r mekanizmin e ndjekjes sĂ« daljes nga makina virtuale (ânotify vmexitâ), i cili lejon shmangien e gabimeve nĂ« CPU qĂ« mund tĂ« shkaktojnĂ« ngrirje.
- NĂ« emulatorin ARM Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r CPU Cortex-A35 dhe zgjerimet e procesorit ETS (Enhanced Translation Synchronization), PMUv3p5 (PMU Extensions 3.5), GTG (Guest Translation Granule 4KB, 16KB, 64KB), HAFDBS (menaxhimi harduerik i flagut tĂ« aksesit dhe gjendjes âdirtyâ) dhe E0PD (parandalimi i aksesit EL0 nĂ« hartat e ndara tĂ« adresave).
- Në emulatorin LoongArch është shtuar mbështetje për fw_cfg DMA, lidhjen e nxehtë të memories dhe emulimin e pajisjeve TPM (Trusted Platform Module).
- NĂ« emulatorin e arkitekturĂ«s OpenRISC Ă«shtĂ« implementuar platforma âvirtâ pĂ«r testimin e pajisjeve dhe pĂ«r pĂ«rdorim nĂ« sistemet e integrimit tĂ« vazhdueshĂ«m. ĂshtĂ« realizuar mbĂ«shtetje pĂ«r ekzekutimin me shumĂ« thirje tĂ« gjeneratorit klasik tĂ« kodit TCG (Tiny Code Generator).
- NĂ« emulatorin e arkitekturĂ«s RISC-V nĂ« makinat e emuluara âvirtâ Ă«shtĂ« implementuar mundĂ«sia e ngarkimit tĂ« firmware nga pflash nĂ« S-modus (S-mode). ĂshtĂ« pĂ«rmirĂ«suar puna me pemĂ«n e pajisjeve.
- Në emulatorin e arkitekturës 390x është siguruar mbështetje për zgjerimin MSA5 (Message-Security-Assist Extension 5 me instruksionin PRNO për gjenerimin e numrave pseudo-rastësorë), instruksionet KIMD/KLM (implementimi i SHA-512) dhe interpretimin e avancuar të zPCI për sistemet nikoqire mbi hipervizorin KVM.
- Në backend-et për punën me memorje është siguruar alokimi paraprak i memories duke marrë parasysh arkitekturën NUMA.
- ĂshtĂ« forcuar kontrolli i titujve tĂ« pajisjeve tĂ« bllokuar tĂ« enkriptuara LUKS, Ă«shtĂ« shtuar mundĂ«sia e krijimit tĂ« imazheve LUKS nĂ« macOS.
- Në backend-in 9pfs, që lejon përdorimin e sistemit të skedarëve të Plan 9 për aksesin e një makine virtuale tek tjetra, është kaluar në përdorimin e hasharit GHashTable në tabelën e identifikuesve, që në disa situata ka çuar në përmirësimin e performancës nga 6-12 herë.
- Janë shtuar backend-et e rinj netdev stream dhe dgram.
- Në agjentin për sistemet nikoqire mbi arkitekturën ARM është shtuar mbështetje për FreeBSD.
- Në ndërtimet GUI për macOS është mundësuar përfshirja e interfecave bazuar në Cocoa dhe SDL/GTK në një skedar ekzekutues.
- ĂshtĂ« hequr nĂ«nmoduli i ndĂ«rtuar âslirpâ, pĂ«r tĂ« cilin rekomandohet tĂ« pĂ«rdoret biblioteka sistemike libslirp.
- PĂ«r shkak tĂ« mungesĂ«s sĂ« mundĂ«sisĂ« pĂ«r testim, Ă«shtĂ« shpallur e tĂ«rhequr mbĂ«shtetja pĂ«r sistemet nikoqire me procesorĂ« 32-bit MIPS, qĂ« pĂ«rdorin rendin e bytes âBig endianâ.
Burimi: opennet.ru
