lëshimi i projektit . Si një emulator, QEMU lejon që të ekzekutohet një program i ndërtuar për një platformë harduerike në një sistem me një arkitekturë krejtësisht tjetër, për shembull, të ekzekutohet një aplikacion për ARM në një PC të pajtueshëm me x86. Në modin e virtualizimit, performanca e ekzekutimit të kodit në një mjedis të izoluar është afërsisht e ngjashme me sistemin vendor për shkak të ekzekutimit të drejtpërdrejtë të instruksioneve në CPU dhe përfshirjes së hipervizorit Xen ose modulit KVM.
Fillimisht, projekti u krijua nga Fabrice Bellard me qëllim që të sigurohej mundësia e ekzekutimit të skedave të kodit të ndërtuar për platformën x86 në arkitektura të ndryshme nga x86. Gjatë viteve të zhvillimit, u shtua përkrahja për simulimin e plotë për 14 arkitektura harduerike, numri i pajisjeve të simulimit ka kaluar 400. Gjatë përgatitjes së versionit 4.2, u bënë më shumë se 2200 ndryshime nga 198 zhvillues.
Karakteristikat kryesore , të shtuar në QEMU 4.2:
- Në gjeneratorin klasik të kodit TCG (Tiny Code Generator) është implementuar mbështetje për plugina për monitorimin e instruksioneve të procesorit dhe adresave në memorie;
- Në drejtuesin e pajisjeve bllok (Dispositiv Bllok Rrjeti) është siguruar përpunim më efikas i kërkesave të kopjimit gjatë leximit (copy-on-read). Kodi i serverit NBD është optimizuar për kopjimin e imazheve me boshllëqe (shtresa). janë kryer përmirësime të përgjithshme në implementimin e klientit dhe serverit NBD;
- Janë rritur performancat e enkriptimit të disqeve LUKS duke përdorur algoritmin AES-XTS;
- Në vfio-pci është shtuar mbështetja për vetinë «failover_pair_id» për të thjeshtuar migrimin e pajisjeve VFIO;
- Në virtio-mmio është shtuar mbështetje për standardin virtio-compatible 2 dhe mekanizmin e paketuara të radhëve virtuale të definimit në specifikimin virtio 1.1 () për shkëmbimin e të dhënave me një pajisje virtuale të hyrjes/jeshtë në mënyrë paketore;
- NĂ« emulatorin e arkitekturĂ«s x86 Ă«shtĂ« shtuar njĂ« lloj i ri makinash tĂ« emuluara, «microvm», qĂ« pĂ«rdorin virtio-mmio nĂ« vend tĂ« PCI pĂ«r optimizimin e performancĂ«s. ĂshtĂ« zbatuar mundĂ«sia pĂ«r tĂ« aktivizuar dhe çaktivizuar VMX pĂ«rmes flamujve «-cpu». ĂshtĂ« shtuar mbĂ«shtetja pĂ«r emulimin e zgjerimeve AVX512 BFloat16. ĂshtĂ« ofruar mbĂ«shtetje pĂ«r modelet e reja tĂ« CPU Denverton (SoC serveri i bazuar nĂ« Atom), Snowridge dhe Dhyana. ĂshtĂ« stabilizuar mbĂ«shtetja pĂ«r macOS Hypervisor Framework («-accel hvf»);
- NĂ« emulatorin e arkitekturĂ«s ARM Ă«shtĂ« shtuar mbĂ«shtetja pĂ«r emulimin e SoC Aspeed AST2600 («ast2600-evb»). ĂshtĂ« shtuar mbĂ«shtetja pĂ«r teknologjinĂ« Semihosting 2.0 me zgjerimet STDOUT_STDERR/EXIT_EXTENDED, e cila i lejon pajisjes sĂ« emuluar tĂ« pĂ«rdorĂ« stdout, stderr dhe stdin pĂ«r krijimin e skedarĂ«ve nĂ« anĂ«n e hostit. NĂ« KVM Ă«shtĂ« shtuar mundĂ«sia e pĂ«rdorimit tĂ« mĂ« shumĂ« se 256 CPU dhe Ă«shtĂ« ofruar mbĂ«shtetje pĂ«r instruksionet SIMD SVE. NĂ« makinat virtuale me llojin «» Ă«shtĂ« zbatuar mbĂ«shtetja pĂ«r lidhjen e nxehtĂ« tĂ« memories. ĂshtĂ« rritur performanca e emulimit me pĂ«rdorimin e gjeneratorit tĂ« kodit TCG.
- Në emulatorin e arkitekturës PowerPC është shtuar mundësia e emulimit të instruksioneve POWER9 mffsce, mffscrn dhe mffscrni. Në makinat e emuluara «powernv» është shtuar mbështetja për pajisjet e sistemit Homer dhe OCC SRAM;
- Në emulatorin e arkitekturës RISC-V është shtuar opsioni «-initrd» dhe mundësia për të parë gjendjen e plotë të arkitekturës në debugger;
- Në emulatorin e arkitekturës s390 u realizua mbështetje për instrukcionet IEP (Mbrojtja e Ekzekutimit të Instruksioneve);
- Në emulatorin e arkitekturës 68k u shtua mundësia fillestare për emulimin e Macintosh Quadro 800 dhe sistemeve klasike NeXTcube;
- Në emulatorin e arkitekturës xtensa është shtuar një lloj i ri makinash të emuluara «virt» dhe është zbatuar mbështetja për ABI call0 për emulim në hapësirën e përdoruesit.
Burimi: opennet.ru
