QEMU 9.2 layihəsinin buraxılışı təqdim olundu. Emulator kimi QEMU sizə tam fərqli arxitekturaya malik sistemdə bir aparat platforması üçün tərtib edilmiş proqramı işə salmağa imkan verir, məsələn, x86 uyğun PC-də ARM proqramını işə salır. QEMU-da virtuallaşdırma rejimində, təcrid olunmuş mühitdə kodun icrasının performansı CPU-da təlimatların birbaşa icrası və Xen hipervizorunun və ya Linux-da KVM modulunun və ya NVMM modulunun istifadəsi səbəbindən aparat sisteminə yaxındır. NetBSD.
Layihə əvvəlcə Fabrice Bellard tərəfindən x86 platforması üçün qurulmuş Linux icra sənədlərinin x86 olmayan arxitekturalarda işləməsinə icazə vermək üçün yaradılmışdır. İnkişaf illəri ərzində 14 aparat arxitekturası üçün tam emulyasiya dəstəyi əlavə edilib, emulyasiya edilmiş aparat qurğularının sayı 400-ü keçib. 9.2 versiyasına hazırlıq zamanı 1700 tərtibatçıdan 209-dən çox dəyişiklik edilib.
QEMU 9.2-də əlavə edilmiş əsas təkmilləşdirmələr:
- Rustda yazılmış cihaz modellərini yaratmaq üçün eksperimental dəstək əlavə edildi. QEMU-nu Rust dəstəyi ilə qurarkən, standart olaraq Rust dilində yazılmış, lakin geniş istifadə üçün hələ tövsiyə edilməyən PL011 UART sürücüsünün alternativ tətbiqi istifadə olunur.
Hazırda QEMU-da Rust dəstəyi defolt olaraq qeyri-aktivdir və konfiqurasiya skriptini işə salarkən “--enable-rust” seçimini göstərərək qurma zamanı aktivləşdirilir. Rust ilə qurmaq üçün sizə ən azı rustc 1.63.0 və bindgen 0.60.0 versiyaları lazımdır (məsələn, Debian 12-də Rust-un daha yeni versiyasını ayrıca quraşdırmalı olacaqsınız). Gələcəkdə Rust kompilyatoru və bindgenin tələb olunan qurma asılılıqları kimi əlavə edilməsi planlaşdırılır.
QEMU-da Rust-un təşviqi ilə bağlı planlara HPET (High Precision Event Timer) sürücüsünün və Rust ilə yazılmış blok cihazları üçün sürücünün işlək vəziyyətə gətirilməsi, Rust-un müxtəlif QEMU komponentlərində istifadəsi üçün çərçivələrin inkişafının davam etdirilməsi daxildir (məsələn, drayver cihazlarını, taymerləri və GPIO-ları bloklayır), Rust-da virtio kimi təhlükəsizlik baxımından kritik sistemləri yenidən yazır.
- Virtual GPU-ya güc verən VirtIO-GPU cihazı, Mesa-ya daxil olan Venus Vulkan sürücüsü vasitəsilə həyata keçirilən Vulkan qrafik API-dən istifadə edərək 3D sürətləndirməyə dəstək əlavə edir ki, bu da qonaq sistemini açmadan 3D göstərilməsi üçün virtual GPU ilə təmin etməyə imkan verir. fiziki GPU-ya eksklüziv birbaşa çıxış. İşləmək üçün host sistem tərəfində virglrenderer kitabxanası və qonaq sistem tərəfində Venus Mesa sürücüsü olmalıdır. QEMU-da Vulkan dəstəyinin qurulması üçün təlimatlar mövcuddur.
- Qonaq Miqrasiya Alətlər dəsti sıxılma və şifrələmə ilə bağlı hesablamaları sürətləndirmək üçün alətlər təklif edən Intel prosessorlarında quraşdırılmış QAT (QuickAssist Texnologiyası) sürətləndiricisindən istifadə edən QATzip kitabxanasından istifadə edərək eyni vaxtda ötürülən məlumat axınlarında sıxılma əməliyyatlarının sürətləndirilməsi üçün dəstək əlavə edib.
- SHA-384 hashing alqoritmi üçün dəstək GLib əsaslı kriptoqrafik arxa plana əlavə edildi.
- ARM arxitektura emulyatoru FEAT_EBF16 və FEAT_CMOW prosessor genişləndirmələri, eləcə də xilinx-zynq-a9 lövhələrində istifadə edilən təhlükəsizlik genişləndirmələri üçün dəstək əlavə etdi. ARM Mac-lərdə qonaqların icrasını sürətləndirmək üçün Hypervisor.framework alət dəstindən istifadə edən HVF ilə 64 GB-dan çox yaddaşa dəstək verilir. Təqlid edilmiş sbsa-ref və virt sistemləri üçün SMMU-da (Sistem Yaddaşının İdarə Edilməsi Vahidi) iki mərhələli ünvan tərcüməsi üçün dəstək əlavə edilmişdir. Akita, borzoi, cheetah, connex, mainstone, n800, n810, spitz, terrier, tosa, verdex və z2 kimi köhnə təqlid edilmiş avadanlıq növlərinə dəstək dayandırıldı.
- X86 arxitektura emulyatoru yeni tipli aparat konfiqurasiyası üçün dəstək əlavə etdi - AWS Nitro Enclave mühitini təqlid edən və Enclave Şəkil Formatında sistem şəkillərini yükləməyə qadir olan nitro-anklav.
- Hipervisor üçün x86 arxitektura emulatorunda KVM AVX10 təlimat dəsti, eləcə də AVX10-un müəyyən versiyaları — avx10-128, avx10-256 və avx10-512 — üçün dəstəyi aktivləşdirmək imkanı tətbiq edilmişdir.
- RISC-V arxitektura emulyatoru OpenTitan lövhələrində istifadə edilən Svvptc, Bitmanip (Bit-Manipulation) və CFI (Control Flow Integrity) komanda dəsti uzantıları üçün əlavə dəstəyi əlavə etdi. IOMMU dəstəyi emulyasiya edilmiş sistemlərin “virt” növünə əlavə edilmişdir. ld və st təlimatlarının təkmilləşdirilmiş performansı.
- HPPA arxitektura emulyatorunda SeaBIOS-hppa proqram təminatı 17-ci versiyaya yeniləndi.
- Göstərilən cihazdan yükləmə uğursuz olarsa, digər cihazlardan yükləmək imkanı s390x arxitektura emulyatoruna əlavə edilmişdir.
Mənbə: opennet.ru
