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;
- В vfio-pci добавлена поддержка свойства «failover_pair_id» для упрощения миграции устройств 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;
- В эмулятор архитектуры x86 добавлен новый тип эмулируемых машин «microvm», использующих virtio-mmio вместо PCI для оптимизации производительности. Реализована возможность включения и выключения VMX через флаги «-cpu». Добавлена поддержка эмуляции расширений AVX512 BFloat16. Обеспечена поддержка новых моделей CPU Denverton (серверный SoC на базе Atom), Snowridge и Dhyana. Стабилизирована поддержка macOS Hypervisor Framework («-accel hvf»);
- В эмулятор архитектуры ARM добавлена поддержка эмуляции SoC Aspeed AST2600 («ast2600-evb»). Добавлена поддержка технологии Semihosting 2.0 c расширениями STDOUT_STDERR/EXIT_EXTENDED, которая позволяет эмулируемому устройству использовать stdout, stderr и stdin для создания файлов на стороне хоста. В KVM добавлена возможность использования более 256 CPU и обеспечена поддержка SIMD-инструкций SVE. В виртуальных машинах с типом «» реализована поддержка горячего подключения памяти. Увеличена производительность эмуляции с использованием генератора кода TCG.
- В эмуляторе архитектуры PowerPC появилась возможность эмуляции POWER9-инструкций mffsce, mffscrn и mffscrni. В эмулируемых машинах «powernv» добавлена поддержка системных устройств Homer и OCC SRAM;
- В эмуляторе архитектуры RISC-V добавлена опция «-initrd» и возможность просмотра полного состояния архитектуры в отладчике;
- 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;
- В эмуляторе архитектуры xtensa добавлен новый тип эмулируемых машин «virt» и реализована поддержка ABI call0 для эмуляции в пространстве пользователя.
Burimi: opennet.ru
