QEMU 10.2, yeni politika sayesinde G/Ç yükü altında daha hızlı ve “daha güvenli”

kapanış bildirimi

Bu makale İngilizce olarak da mevcuttur. Teknik yardımla tercüme edildi ve yayınlanmadan önce editoryal olarak gözden geçirildi.

Geliştirme ekibi, Noel hediyesi olarak Quick-EMUlator'ın (QEMU) birçok platformda kullanılabilen 10.2 sürümünü yayınladı. 188 geliştirici, açık kaynak projesine 2.300'den fazla yenilik ve iyileştirme ekledi.

Duyurudan sonra devamını okuyun

QEMU 10.2 değişiklik günlüğündeki “QEMU güvenlik politikası açıklaması” etiketli ilk not, soruları gündeme getiriyor. Her şeyden önce: QEMU projesinin 10.2 versiyonunda güvenlik politikası, özellikle de QEMU bağlamında “güvenlik hatası” teriminin ne anlama geldiği daha açık bir şekilde tanımlandı. Şu andan itibaren hatalar, yalnızca açıkça tanımlanmış “sanallaştırma kullanım durumlarında” meydana gelmeleri durumunda gerçek güvenlik hataları olarak kabul edilecektir. Bunlar, WHPX (Windows), KVM (Linux), HVF (macOS) veya NVMM (NetBSD) altındaki donanım hızlandırıcıları içeren senaryoları ve çoğunlukla yalnızca “Güvenlik Gereksinimleri”nde açıkça listelenen bazı makine türlerini içerir: aarch64 (virt), i386 ve x86_64 (microvm, xenfv, xenpv, xenpvh, pc, q35), s390x (s390-ccw-virtio), loongarch64 (virt), ppc64 (pseri) ve ayrıca riscv32 ve riscv64 (virt). Bu, QEMU bağlamındaki diğer tüm emülasyon senaryolarındaki güvenlik açısından kritik hataların artık güvenlikle ilgili hatalar olarak görülmediği (görülmemesi gerektiği) anlamına gelir.

Bu, konuk CPU talimatlarının dinamik olarak ana bilgisayar koduna çevrildiği Tiny Code Generator (TCG) ile tamamen yazılım tabanlı “tam sistem emülasyonu” gibi birçok uygulama alanının güvenlik yönergelerinin dışında kaldığı anlamına gelir. Bu, herhangi bir konuk mimarisinin herhangi bir ana bilgisayarda çalıştığı tüm kullanım durumları için geçerlidir. Örneğin, çoklu mimari geliştirme, ürün yazılımı testi, yerleşik simülasyon veya hata ayıklama için bir x86 ana bilgisayarında bir ARM misafiri çalıştırırken. Ve tüm sistemi değil, yalnızca CPU ve sistem çağrılarını taklit eden “kullanıcı modu emülasyonu” (qemu-user) büyük olasılıkla yeni güvenlik yönergelerinden kaldırılacaktır. Bu, diğer şeylerin yanı sıra çapraz yapılar ve CI'lar ve muhtemelen “çoklu kemerli Docker” içeren konteyner yapıları için de geçerlidir.

Hibrit QEMU modlarıyla uğraşırken görev zorlaşıyor. Bu, genellikle donanım hızlandırmanın kullanıldığı ancak bazı cihazların veya işlevlerin TCG (eski cihazlar) aracılığıyla taklit edildiği durumdur. Güvenlik durumu spesifik konfigürasyona bağlıdır. Bu nedenle bir QEMU kullanıcısı olarak senaryonun desteklenen bir sanallaştırma kullanım durumu olarak kabul edilip edilmediğini öğrenmeniz gerekir. Heyecan verici olmalı.

QEMU, ARM emülasyonunu çeşitli yeni CPU özellikleriyle genişletir, eski pxa CPU ailesini kaldırır ve hata ayıklamayı ve cihaz desteğini geliştirir (gdbstub'da SME/SME2, ​​çeşitli SMMUv3 cihazları, aspeed ve xlnx'te yeni/genişletilmiş SoC bileşenleri dahil). Ek olarak, mevcut ARM platformlarında yeni bir kart modeli (amd-versal2-virt) ve kesintilerin ve PCIe donanımının daha hassas modellenmesi bulunmaktadır.

QEMU'daki RISC-V desteği, CFI, VLEN kuralları, PMP ayrıntı düzeyi ve talimatlar, zamanlayıcılar ve IOMMU hakkındaki çeşitli ayrıntılar dahil olmak üzere ayrıntı düzeltmeleri ve ISA iyileştirmeleriyle iyileştirildi. Ayrıca, performans ve bellek iyileştirmelerinin yanı sıra, makine ve ürün yazılımı entegrasyonuna yönelik güncellemeler ve hata düzeltmeleri (OpenSBI v1.7, cihaz yapısı düzeltmeleri, iyileştirilmiş ağ ve UART kararlılığı dahil) bulunmaktadır.

Duyurudan sonra devamını okuyun

QEMU'daki PowerPC desteği, yeni CPU ve makine desteği (PowerNV11, PPE42), pSeries ürün yazılımı ve FADUMP güncellemeleriyle entegre edilirken, kullanımdan kaldırılmış platformlar ve “kullanılamaz e200 CPU'lar” kaldırılmış, ayrıca çok sayıda hata düzeltmesi, temizleme ve hata işleme ve emülasyonda iyileştirmeler yapılmıştır.

LoongArch emülasyonu ile QEMU 10.2 artık MSGINT (IRQ çipi) ve “HW Page Table Walk”u da destekliyor. S390x mimarisinin IRQ yönetimi iyileştirmeleri, virtio-pci'nin performansını artırmayı amaçlamaktadır. x86 ile HPET (Yüksek Hassasiyetli Olay Zamanlayıcısı) emülatörü artık “Büyük QEMU Kilidi”ni (BQL) kullanmaz, ancak artık daha kesin ve eş zamanlı olarak uygulanır.

QEMU 10.2 ile bilgisayar tarihinin bir başka klasiği sanal olarak yeniden canlandırılabilir: HP 9000 715/64 (32 bit PA-RISC, 64 MHz CPU saati, 1 KB çip üzerinde ve 64 KB çip dışı önbellek), 1990'ların ortasında Hewlett-Packard tarafından SGI Indy/Indigo2, Sun SPARCstation, DEC AlphaStation ve IBM'e karşı bir iş istasyonu olarak geliştirildi. RS/6000'in piyasaya sürülmesi. HP-UX veya NeXTSTEP'li UNIX iş istasyonu, zamanına göre oldukça hızlıydı ve buna bağlı olarak pahalıydı: yaklaşık 10.000 ABD doları. Bunu perspektife koymak gerekirse: 715/64'ün SPEC92/int performansı, hemen hemen aynı zamanlarda piyasaya sürülen Pentium/90 MHz'in performansıyla kabaca eşleşiyordu. Ayrıca NCR 53c710 SCSI denetleyicisinin (715/64'te kullanılan) emülasyonu ve buna karşılık gelen güncellenmiş HPPA SeaBIOS BIOS da yenidir.

QEMU şifreleme alt sistemi, temel şifreleme kitaplıklarının minimum sürümleri artırılarak ve kuantum sonrası şifreleme geçişlerini desteklemek için birden fazla X.509 sertifika kimliğinin yüklenmesi gibi yeni özellikler uygulanarak 10.2 sürümüyle modernleştirildi. Ek olarak, TLS güvenliği ve sertifika doğrulaması iyileştirildi, harici Diffie-Hellman parametreleri gibi kullanımdan kaldırılan mekanizmalar “kullanımdan kaldırıldı” olarak işaretlendi ve çeşitli kararlılık ve güvenlik sorunları düzeltildi. Plan 9 9pfs dosya sistemi, QEMU'nun ana bilgisayar dizinlerini doğrudan konukta paylaşılan klasörler olarak bağlamasına olanak tanır. Daha önce büyük ölçüde Linux ana bilgisayarlarıyla sınırlı olan bu işlevsellik artık FreeBSD ana bilgisayarlarında da mevcuttur.

QEMU 10.2'de geliştiriciler ana döngüyü, Linux altında eşzamansız G/Ç işlemleri için modern bir arayüz olan io_uring(7) olarak değiştirdiler. Bunun amacı, G/Ç işlemlerini daha verimli bir şekilde işlemek ve özellikle yüksek G/Ç yükleri altında fark edilebilir performans iyileştirmelerine yol açmaktır. İş akışını QEMU 10.2'ye yükselten herkes, yakın gelecekte kaldırılacak (amortismana tabi tutulacak) özellikler listesine mutlaka göz atmalıdır.

QEMU projesinin büyük bir kısmı GPL2 lisansı altında olsa da Tiny Code Generator (TCG) gibi parçalar BSD veya MIT lisansı altındadır. Ücretsiz açık kaynaklı bir proje olan QEMU 10.2 ücretsiz olarak kullanıma sunuldu ve artık proje sayfasından indirilebiliyor. QEMU 10.2 sürümünün tüm değişiklikleri ve olası uyumsuzlukları değişiklik günlüğünde belgelenmiştir.

Ayrıca bakınız:



(swi)


Yayımlandı

kategorisi

yazarı:

Etiketler:

Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir