Lëshimi i projektit QEMU 11.0.0 është prezentuar. Si emulator, QEMU mundëson ekzekutimin e një programi të ndërtuar për një platformë harduerike në një sistem me një arkitekturë krejtësisht të ndryshme, për shembull, të ekzekutohet një aplikacion për ARM në një PC të përputhshëm me x86. Në modalitetin e virtualizimit në QEMU, performanca e ekzekutimit të kodit në një mjedis të izoluar është afërsisht e barabartë me sistemin harduerik për shkak të ekzekutimit të drejtpërdrejtë të instrukcioneve 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 që të ofronte mundësinë për të ekzekutuar skedarë ekzekutivë Linux të ndërtuar për platformën x86 në arkitektura të ndryshme nga x86. Gjatë viteve të zhvillimit është shtuar mbështetje për emulimin e plotë të 14 arkitekturave harduerike, numri i pajisjeve harduerike të emuluara ka kapërcyer 400. Në përgatitjen e versionit 11.0.0 janë bërë më shumë se 2500 ndryshime nga 237 zhvillues.
Përmirësimet kryesore të shtuar në QEMU 11.0:
- ĂshtĂ« hequr mbĂ«shtetja pĂ«r sistemet mikĂ«sa 32-bitĂ«, e cila ishte shpallur e paaktivizuar nĂ« prill tĂ« vitit tĂ« kaluar nĂ« QEMU 10.0. NĂ« lĂ«shimin e dhjetorit 10.2, mbĂ«shtetja pĂ«r platformat mips32 dhe ppc32 u ndĂ«rpre nĂ« gjeneratorin e kodit TCG (Tiny Code Generator), dhe nĂ« lĂ«shimin e QEMU 11.0 u hoqĂ«n platformat e mbetura i386, arm, ppc dhe riscv32, si dhe u pastrua baza e kodit dhe sistemi i ndĂ«rtimit nga komponentĂ«t pĂ«r punĂ«n nĂ« hoste 32-bitĂ«.
- Eshtë implementuar përshpejtuesi i virtualizimit "nitro" ("-accel nitro") dhe një lloj i ri i sistemeve të emuluara "nitro", që lejon ekzekutimin e enklavave të izoluara në QEMU në bazë të teknologjisë së computing të besueshëm AWS Nitro Enclave, për shembull, për testimin lokal në mjedise Nitro Enclave në QEMU. Në AWS EC2, teknologjia Nitro Enclave lejon ekzekutimin e enklavave të izoluara të brendshme midis një makine virtuale për punë me të dhëna të ndjeshme, duke i ndarë atyre një pjesë të burimeve të saj.
- ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r pĂ«rshpejtuesit e virtualizimit MSHV (Microsoft Hypervisor) dhe WHPX (Microsoft Windows Hypervisor Platform Extensions).
- Kur pĂ«rdoret hipervizori KVM ("-accel kvm"), Ă«shtĂ« ofruar mbĂ«shtetje pĂ«r virtualizimin e zgjerimit Intel CET (Control-flow Enforcement Technology) pĂ«r pĂ«rdorim nĂ« makina virtuale mbrojtjen nga eksploitĂ«t qĂ« pĂ«rdorin metoda tĂ« programimit tĂ« orientuar kah kthimi (ROP â Return-Oriented Programming). Gjithashtu Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r ri-ngritjen e informacionit tĂ« ndjeshĂ«m. makinat virtuale, duke pĂ«rdorin pĂ«r enkriptimin e memories zgjerimet AMD SEV-SNP (Virtualizimi i Enkriptuar tĂ« Sigurt â Pogues i Sigurt tĂ« NjerĂ«zve) dhe Intel TDX (Zgjerimet e Domenit tĂ« BesueshĂ«m).
- Në pajisjen VirtIO-GPU, e cila siguron funksionimin e GPU-së virtuale, është shtuar mundësia për të vendosur rezolucione të ndryshme ekrani për pajisje të ndryshme të daljes.
- Në VirtIO-GPU është shtuar mbështetje për kontekste DRM (menaxheri i rendit të drejtpërdrejtë) të natyrshme, që lejojnë të përmirësojnë performancën e punës me GPU-në virtuale nga sistemi mikpritës përmes kalimit të drejtpërdrejtë të komandave në GPU-në reale të mikpritësit. Mbështetje për kontekstet DRM aktivizohet në përdorimin e pajisjes së re virtio-gpu-gl me opsionin «drm_native_context=on». Ndryshe nga kontekstet Virgl dhe Venus, të cilat funksionojnë në nivelin e API-së OpenGL dhe Vulkan, konteksti DRM është realizuar në nivelin UAPI të bërthamës Linux.
- Shtuar mundësinë e përdorimit të gjuhës C++ për zhvillimin e pluginave për gjeneruesin e kodit TCG (Gjeneratori i Kodit të Vogël).
- Në driverin bllok NFS është shtuar mbështetje për ndërtimin me bibliotekën libnfs 6.
- Në driverin bllok curl është shtuar opsioni «force-range» për të detyruar përdorimin e titullit HTTP «Range» për shkarkimin e imazheve pa kontrollin paraprak të mbështetjes së tij me një kërkesë të veçantë me titullin HEAD.
- Në driverin bllok FUSE është çaktivizuar përpunimi i operacioneve të eksportit në modin sinkron, që çonte në bllokimin e fillimit të makinës virtuale deri në përfundimin e përpunimeve të tjera FUSE. Shtuar mundësia e përdorimit të disa rrjedhave të hyrjes/ Daljes (iothread) gjatë përllogaritjes në FUSE.
- Në emulatorin e arkitekturës x86 është shtuar mbështetje për CPU-në Intel Diamond Rapids («Xeon 7»).
- Në emulatorin e arkitekturës ARM janë shtuar zgjerime procesorësh FEAT_ASID2 dhe FEAT_E2H0. Në gjeneratorin e kodit TCG është realizuar emulatori i zgjerimeve SME (Zgjerimi i Matrices së Shkallueshme).
- Në emulatorin e arkitekturës HPPA është shtuar mbështetje për emulimin e CPU-ve 64-bit me hapësirë adresimi prej 40 dhe 44 bit. Me ndihmën e SeaBIOS-hppa 24 është realizuar inicializimi i kontrolluesit PCI Astro, duke lejuar përdorimin e kartave grafike PCI në sistemet 64-bit.
- Në emulatorin e arkitekturës LoongArch ka ardhur mundësia e migrimit të PMU (Njësia e Monitorimit të Performancës) gjatë përdorimit të hipervizorit KVM. Në gjeneratorin e kodit TCG është realizuar emulimi i zgjerimeve LA v1.1, sc.q dhe llacq/screl, si dhe instrukcioneve FRECIP dhe DRECIP për llogaritjen e vlerave inverse.
- Në emulatorin e arkitekturës PowerPC është shtuar mbështetje për snapshot-e.
- Në emuluesin e arkitekturës RISC-V është implementuar mbështetje për CPU MIPS P8700 dhe zgjerimet e grupit të komandave Zilsd, Zclsd, ZALASR dhe Smpmpmt.
- Në emuluesin e arkitekturës s390 është shtuar mbështetje për ngarkimin nga pajisjet virtio-blk-pci dhe është realizuar emulimi i instrukcionit "DIVIDE TO INTEGER".
- ĂshtĂ« miratuar njĂ« rregullim, qĂ« redukton nga 50-80 herĂ« vonesat gjatĂ« punĂ«s me fdmon (monitorimi i descriptorĂ«ve tĂ« skedarĂ«ve) nĂ« modalitetin "aio=io_uring" dhe gjatĂ« qĂ«ndrimit tĂ« sistemit nĂ« gjendje pushimi (idle).
Burimi: opennet.ru
