layihənin buraxılışı . QEMU, bir emulator kimi, tamamilə fərqli bir arxitektura ilə sistemdə, məsələn, x86-uyğun PC-də ARM üçün hazırlanmış bir proqramı işə salmağa imkan tanıyır. Virtualizasiya modunda QEMU-da kodun izolyasiyalı mühitdə icra olunma performansı CPU-da birbaşa icra və Xen hipervizoru və ya KVM modulundan istifadəsi sayəsində yerli sistemə yaxındır.
Başlangıçta layihə Fabrice Bellard tərəfindən x86 platforması üçün hazırlanmış Linux icra fayllarının x86-dan fərqli arxitekturalarda işlədilməsini təmin etmək məqsədilə yaradılmışdır. İnkişaf illəri ərzində 14 hardware arxitekturası üçün tam emulyasiya dəstəyi əlavə edilmiş, emulyasiya olunan hardware cihazlarının sayı 400-dən çox artmışdır. 4.2 versiyasının hazırlanması zamanı 198 inkişaf etdiricidən 2200-dən çox dəyişiklik edilmişdir.
Əsas , QEMU 4.2-yə əlavə olunanlar:
- Klassik TCG (Tiny Code Generator) kod generatorunda prosessor təlimatlarını və yaddaşdakı adresləri izləmək üçün plagin dəstəyi reallaşdırılmışdır;
- Blok cihazları sürücüsündə (Network Block Device) oxuma zamanı (copy-on-read) köçürmə sorğularının daha effektiv emalı təmin edilmişdir. NBD serverinin kodu boşluqlarla dolu görüntülərin köçürülməsi üçün optimallaşdırılmışdır. NBD müştərisi və serverinin icrası üzrə ümumi yaxşılaşdırmalar edilmişdir;
- AES-XTS alqoritmi ilə LUKS diskinin şifrələnməsi performansı artırılmışdır;
- vfio-pci üzərində cihazların VFIO köçürülməsini asanlaşdırmaq üçün 'failover_pair_id' xüsusiyyəti əlavə edilmişdir;
- virtio-mmio üzərinə virtio-compatible 2 standartına və virtio 1.1 spesifikasiyasında müəyyən olunmuş paketlənmiş virtual qaydaların () virtual giriş/çıxış cihazı ilə paket rejimində məlumat mübadiləsi üçün dəstək əlavə edilmişdir;
- x86 arxitekturasının emulyatoruna PCI yerinə performansı optimallaşdırmaq üçün virtio-mmio istifadə edən yeni 'microvm' emulyasiya edilmiş maşın tipi əlavə edilmişdir. VMX-i ' -cpu' flaqı ilə açma və bağlama imkanı təqdim edilib. AVX512 BFloat16 uzantılarının emulyasiyası üçün dəstək əlavə edilmişdir. Denverton (Atom əsaslı server SoC), Snowridge və Dhyana yeni CPU modelləri üçün dəstək təmin edilmişdir. macOS Hypervisor Framework ('-accel hvf') dəstəyi stabilizasiya edilmişdir;
- ARM arxitekturasının emulyatoruna Aspeed AST2600 SoC-nın emulyasiyası üçün 'ast2600-evb' dəstəyi əlavə edilmişdir. Emulyasiya olunmuş cihazın host tərəfində fayl yaratması üçün stdout, stderr və stdin istifadəsinə imkan verən Semihosting 2.0 texnologiyası üçün STDOUT_STDERR/EXIT_EXTENDED uzantıları əlavə edilmişdir. KVM-də 256-dan çox CPU istifadə etmək imkanı təqdim edilmişdir və SVE SIMD təlimatlarının dəstəyi təmin edilmişdir. '' tipli virtual maşınlarda yaddaşın isti qoşulması dəstəyi təqdim edilmişdir. TCG kod generatoru ilə emulyasiyanın performansı artırılmışdır.
- PowerPC arxitekturasının emulyatoruna mffsce, mffscrn və mffscrni POWER9 təlimatlarının emulyasiyası imkanı əlavə edilmişdir. 'powernv' emulyasiya edilmiş maşınlarda Homer və OCC SRAM sistem cihazlarına dəstək əlavə olunmuşdur;
- RISC-V arxitekturasının emulyatoruna '-initrd' seçimi və arxitekturanın tam vəziyyətini debuqerdə görüntüləmə imkanı əlavə edilmişdir;
- s390 arxitekturasının emulyatorunda IEP (Təlimatın İcra Mühafizəsi) təlimatlarının dəstəyi təqdim edilmişdir;
- 68k arxitekturasının emulyatoruna Macintosh Quadro 800 və klassik NeXTcube sistemlərinin emulyasiyası üçün ilkin imkanı əlavə edilmişdir;
- Xtensa arxitekturas emulyatoruna yeni bir "virt" emulyasiya maşını növü əlavə edildi və istifadəçi mühitində emulyasiya üçün ABI call0 dəstəyi tətbiq olundu.
Mənbə: opennet.ru
