การเปิดตัวโปรแกรมจำลอง QEMU 8.0

มีการนำเสนอการเปิดตัวโครงการ QEMU 8.0 แล้ว ในฐานะอีมูเลเตอร์ QEMU ช่วยให้คุณสามารถรันโปรแกรมที่คอมไพล์สำหรับแพลตฟอร์มฮาร์ดแวร์เดียวบนระบบที่มีสถาปัตยกรรมที่แตกต่างไปจากเดิมอย่างสิ้นเชิง เช่น รันแอปพลิเคชัน ARM บนพีซีที่รองรับ x86 ในโหมดการจำลองเสมือนใน QEMU ประสิทธิภาพของการเรียกใช้โค้ดในสภาพแวดล้อมแบบแยกจะใกล้เคียงกับประสิทธิภาพของระบบฮาร์ดแวร์ เนื่องจากการดำเนินการตามคำสั่งโดยตรงบน CPU และการใช้ Xen Hypervisor หรือโมดูล KVM

เดิมทีโปรเจ็กต์นี้สร้างขึ้นโดย Fabrice Bellard เพื่อให้โปรแกรมปฏิบัติการ Linux ที่สร้างขึ้นสำหรับแพลตฟอร์ม x86 ทำงานบนสถาปัตยกรรมที่ไม่ใช่ x86 ในช่วงหลายปีที่ผ่านมาของการพัฒนา มีการเพิ่มการรองรับการจำลองแบบเต็มรูปแบบสำหรับสถาปัตยกรรมฮาร์ดแวร์ 14 แบบ จำนวนอุปกรณ์ฮาร์ดแวร์ที่จำลองมีมากกว่า 400 รายการ ในการเตรียมการสำหรับเวอร์ชัน 8.0 มีการเปลี่ยนแปลงมากกว่า 2800 รายการจากนักพัฒนา 238 คน

การปรับปรุงสำคัญที่เพิ่มเข้ามาใน QEMU 8.0:

  • การสนับสนุนการจำลองระบบ (การรันระบบปฏิบัติการทั้งหมด รวมถึงการใช้ไฮเปอร์ไวเซอร์ KVM และ Xen) บนโฮสต์ 32 บิตที่มีสถาปัตยกรรม x86 ได้รับการประกาศว่าล้าสมัยและจะถูกยกเลิกในไม่ช้า การสนับสนุนการจำลองโหมดผู้ใช้ (การเรียกใช้กระบวนการแยกต่างหากที่สร้างขึ้นสำหรับ CPU ที่แตกต่างกัน) บนโฮสต์ x32 86 บิตจะดำเนินต่อไป
  • โปรแกรมจำลองสถาปัตยกรรม x86 ได้เพิ่มการรองรับสำหรับการรันระบบ Xen guest ในสภาพแวดล้อมที่ใช้ไฮเปอร์ไวเซอร์ KVM และเคอร์เนล Linux 5.12+
  • ขณะนี้ตัวสร้างโค้ด TCG แบบคลาสสิกสำหรับสถาปัตยกรรม x86 รองรับแฟล็ก FSRM, FZRM, FSRS และ FSRC CPUID แล้ว มีการรองรับซีพียูรุ่นใหม่ Intel Sapphire Rapids (Intel 7) แล้ว
  • ขณะนี้โปรแกรมจำลอง ARM รองรับ CPU Cortex-A55 และ Cortex-R52 เพิ่มเครื่อง Olimex STM32 H405 ที่จำลองรูปแบบใหม่ และเพิ่มการรองรับ FEAT_EVT (Enhanced Virtualization Traps), FEAT_FGT (Fine-Grained Traps) และโปรเซสเซอร์ AArch32 ARMv8-R ส่วนขยาย gdbstub ได้เพิ่มการรองรับการลงทะเบียนระบบสำหรับสถาปัตยกรรม M-profile (โปรไฟล์ไมโครคอนโทรลเลอร์)
  • โปรแกรมจำลองสถาปัตยกรรม RISC-V ได้อัปเดตการใช้งานเครื่องจำลอง OpenTitan, PolarFire และ OpenSBI เพิ่มการรองรับชุดคำสั่งโปรเซสเซอร์ (ISA) และส่วนขยายเพิ่มเติม: Smstateen, ตัวนับดีบัก icount, โหมดเสมือนที่เกี่ยวข้องกับแคชเหตุการณ์ PMU, ACPI, Zawrs, Svadu, ส่วนขยาย T-Head และ Zicond
  • โปรแกรมจำลองสถาปัตยกรรม HPPA ได้เพิ่มการรองรับคำสั่ง fid (Floating-Point Identify) และการจำลองที่ได้รับการปรับปรุงในโหมด 32 บิต
  • โปรแกรมจำลอง 390x ให้การสนับสนุนการถอดหน่วยความจำแบบอะซิงโครนัสเมื่อรีบูตเกสต์ KVM ที่ได้รับการป้องกัน ปรับปรุงการจัดการอุปกรณ์ zPCI ที่ส่งต่อ
  • กลไก virtio-mem ซึ่งช่วยให้สามารถเสียบปลั๊กและถอดปลั๊กหน่วยความจำไปยังเครื่องเสมือนได้ทันที ดำเนินการจัดสรรทรัพยากรล่วงหน้าในระหว่างการโอนย้ายแบบสด
  • การสนับสนุนการทดลองสำหรับการย้ายข้อมูลได้รับการอัปเดตใน VFIO (Virtual Function I/O) (เปิดใช้งานโปรโตคอลการย้ายข้อมูลรุ่นที่สองแล้ว)
  • อุปกรณ์บล็อก qemu-nbd ได้รับการปรับปรุงประสิทธิภาพผ่าน TCP เมื่อใช้ TLS
  • Guest Agent ได้เพิ่มการสนับสนุนเบื้องต้นสำหรับ OpenBSD และ NetBSD

ที่มา: opennet.ru

เพิ่มความคิดเห็น