ĂshtĂ« prezantuar lĂ«shimi i projektit QEMU 9.2. Si emulator, QEMU lejon ekzekutimin e programeve tĂ« ndĂ«rtuara pĂ«r njĂ« platformĂ« harduerike nĂ« njĂ« sistem me njĂ« arkitekturĂ« tĂ« ndryshme, pĂ«r shembull, tĂ« ekzekutoni njĂ« aplikacion pĂ«r ARM nĂ« njĂ« kompjuter kompatibil me x86. NĂ« modin e virtualizimit, performanca e ekzekutimit tĂ« kodit nĂ« njĂ« mjedis tĂ« izoluar Ă«shtĂ« afĂ«r sistemit harduerik pĂ«r shkak tĂ« ekzekutimit tĂ« drejtpĂ«rdrejtĂ« tĂ« instruksioneve nĂ« CPU dhe angazhimit tĂ« hipervizorit Xen ose modulit KVM nĂ« Linux, ose modulit NVMM nĂ« NetBSD.
Fillimisht, projekti u krijua nga Fabrice Bellard me qëllim të mundësimit të ekzekutimit të skedave të eksekutueshme Linux të ndërtuara për platformën x86 në arkitektura që janë ndryshe nga x86. Gjatë viteve të zhvillimit, është shtuar mbështetje për emulimin e plotë për 14 arkitektura harduerike, numri i pajisjeve harduerike të emuluara ka tejkaluar 400. Gjatë përgatitjes së versionit 9.2, janë bërë më shumë se 1700 ndryshime nga 209 zhvillues.
Përmirësimet kyçe të shtuar në QEMU 9.2:
- ĂshtĂ« shtuar mbĂ«shtetje eksperimentale pĂ«r krijimin e modeleve tĂ« pajisjeve tĂ« shkruara nĂ« gjuhĂ«n Rust. Kur ndĂ«rtohet QEMU me mbĂ«shtetje pĂ«r Rust, pĂ«r default aktivizohet njĂ« implementim alternativ i drejtorit PL011 UART, tĂ« shkruar nĂ« Rust, por pĂ«r momentin nuk rekomandohet pĂ«r pĂ«rdorim tĂ« gjerĂ«.
Aktualisht, mbështetja për Rust në QEMU është e çaktivizuar për default dhe aktivizohet gjatë ndërtimit duke specifikuar opsionin «--enable-rust» gjatë ekzekutimit të skriptit configure. Për ndërtimin me Rust, kërkohen të paktën versionet rustc 1.63.0 dhe bindgen 0.60.0 (për shembull, në Debian 12 do të duhet të instaloni veç e veç një version më të ri të Rust). Në të ardhmen, plani është që kompilerin Rust dhe gjeneratorin e lidhjeve bindgen t'i shtojë në listën e varësive ndërtuese të obligueshme.
Nga planet e lidhura me promovimin e Rust në QEMU, mund të përmendim përmirësimin e gjendjes së drejtorit HPET (High Precision Event Timer) dhe drejtorit për pajisje bllok, të shkruara në Rust, vazhdimin e zhvillimit të mbështetjeve për përdorimin e Rust në komponente të ndryshme të QEMU (p.sh., në drejtorët e pajisjeve bllok, timerat dhe GPIO), dhe riprogramimin në Rust të sistemeve kritike për sigurinë, siç është virtio.
- Në pajisjen VirtIO-GPU, e cila mundëson funksionimin e GPU-ve virtuale, është shtuar mbështetje për përshpejtimin 3D duke përdorur API-në grafike Vulkan, e cila zbatohet përmes drejtuesit Vulkan Venus që është pjesë e Mesa, i cili lejon ofrimin e një GPU-je virtuale për sistemin mysafir për renderimin 3D pa hapur qasje ekskluzive të drejtpërdrejtë në GPU-në fizike. Për funksionimin e saj është e nevojshme që të ekzistojë biblioteka virglrenderer në sistemin pritës dhe drejtuesi Mesa Venus në sistemin mysafir. Ka një udhëzues për konfigurimin e mbështetjes për Vulkan në QEMU.
- Në mjetin e migrimit të mysafirëve është shtuar mbështetje për përshpejtimin e operacioneve të kompresimit për kanalet e dhënash që transmetohen njëkohësisht duke përdorur bibliotekën QATzip, e cila shfrytëzon acceleratorin e integruar QAT (Teknologjia e Ndihmës Shpejtësie) në procesorët Intel, duke ofruar mjete për shpejtimin e llogaritjeve që lidhen me kompresimin dhe enkriptimin.
- Në backend-in kriptografik të bazuar në GLib është shtuar mbështetje për algoritmin e hashing SHA-384.
- Emulatori i arkitekturës ARM tani merr mbështetje për zgjerimet e procesorëve FEAT_EBF16 dhe FEAT_CMOW, si dhe për zgjerimet e sigurisë që përdoren në bordet xilinx-zynq-a9. Kur përdoret komponenti HVF, i cili angazhon mjetin Hypervisor.framework për të përshpejtuar ekzekutimin e sistemeve nikoqire në kompjuterët ARM të Mac, mbështetja për më shumë se 64 GB memorie është e garantuar. Për sistemet e emuluara sbsa-ref dhe virt, është shtuar mbështetje për dy hapa të adresave në SMMU (Njësia e Menaxhimit të Memories së Sistemit). Mbështetja për llojet e vjetruara të pajisjeve të emuluara akita, borzoi, cheetah, connex, mainstone, n800, n810, spitz, terrier, tosa, verdex dhe z2 është ndërprerë.
- NĂ« emulatorin e arkitekturĂ«s x86 Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r njĂ« lloj tĂ« ri tĂ« konfigurimit harduerik â nitro-enclave, qĂ« emulon ambientin AWS Nitro Enclave dhe Ă«shtĂ« nĂ« gjendje tĂ« ngarkojĂ« imazhe sistemesh nĂ« formatin Enclave Image Format.
- NĂ« emulatorin e arkitekturĂ«s x86 pĂ«r hipervizorin KVM Ă«shtĂ« realizuar mundĂ«sia e aktivizimit tĂ« mbĂ«shtetjes pĂ«r setin e instruksioneve AVX10, si dhe versionet specifike tĂ« AVX10 â avx10-128, avx10-256 dhe avx10-512.
- Emulatori i arkitekturës RISC-V tani mbështet zgjerimet e grupit të komandave Svvptc, Bitmanip (Manipulimi i Bitëve) dhe CFI (Integriteti i Fluksit të Kontrollit), të përdorura në bordet OpenTitan. Në tipin e sistemeve të emuluara "virt" është shtuar mbështetje për IOMMU. Performanca e instrukcioneve ld dhe st është rritur.
- Në emulatorin e arkitekturës HPPA, firmware-i SeaBIOS-hppa është përditësuar në versionin 17.
- Në emulatorin e arkitekturës s390x është shtuar mundësia e ngarkimit nga pajisje të tjera, nëse ngarkimi nga pajisja e caktuar dështoi.
Burimi: opennet.ru
