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

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

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

สำคัญ การปรับปรุงเพิ่มใน QEMU 5.1:

  • เพิ่มการรองรับการจำลอง CPU ตามสถาปัตยกรรม AVR. รองรับบอร์ด Arduino Duemilanove (ATmega168), Arduino Mega 2560 (ATmega2560) แล้ว
    Arduino เมกะ (ATmega1280) และ Arduino UNO (ATmega328P)

  • โปรแกรมจำลองสถาปัตยกรรม ARM ได้เพิ่มความสามารถในการถอดปลั๊กหน่วยความจำแบบ hot-unplug รวมถึงหน่วยความจำ nvdimm แบบปลั๊กร้อนสำหรับระบบเกสต์ที่มี ACPI ดำเนินการรองรับส่วนขยาย ARMv8.2 TTS2UXN и ARMv8.5 MemTag. มีการให้การสนับสนุนบอร์ด sonorapass-bmc
  • เพิ่มการรองรับ CPU Loongson 3A (R1 และ R4) ให้กับตัวจำลองสถาปัตยกรรม MIPS แล้ว ปรับปรุงประสิทธิภาพของการจำลองคำสั่ง FPU และ MSA
  • เพิ่มการรองรับ CPU SiFive E34 และ Ibex ให้กับโปรแกรมจำลองสถาปัตยกรรม RISC-V แล้ว มีการรองรับบอร์ด HiFive1 revB และ OpenTitan แล้ว เครื่อง Spike ให้การสนับสนุน CPU มากกว่าหนึ่งตัว
  • ขณะนี้โปรแกรมจำลองสถาปัตยกรรม PowerPC รองรับการกู้คืนข้อผิดพลาดในระบบเกสต์โดยใช้ FWNMI
  • สำหรับสถาปัตยกรรม s390 มีการเพิ่มการรองรับ KVM สำหรับการจำลองเสมือนที่ปลอดภัย (โหมดการดำเนินการที่ปลอดภัย)
  • ตัวจำลองสถาปัตยกรรม x86 ช่วยลดค่าใช้จ่ายในการจำลองเสมือนแขก Windows ที่ยังไม่ได้ปรับเปลี่ยนโดยจัดให้มี Windows ACPI Emulated Device Table (WAET) ปรับปรุงการรองรับการเร่งความเร็ว เอชวีเอฟ สำหรับระบบปฏิบัติการ macOS
  • ขณะนี้ไดรเวอร์อุปกรณ์บล็อกรองรับอุปกรณ์จัดเก็บข้อมูลเสมือนที่มีบล็อกลอจิคัลและฟิสิคัลขนาด 2MB
  • เพิ่มความสามารถในการถ่ายโอนรหัสผ่านและคีย์การเข้ารหัสไปยัง QEMU ผ่านทางเคอร์เนลเคอร์เนล Linux โดยใช้อ็อบเจ็กต์ประเภท "คีย์ลับ" ใหม่
  • ขณะนี้รูปแบบ qcow2 รองรับอัลกอริธึมการบีบอัด zstd
  • มีการเพิ่มคำสั่ง 'bitmap' ใหม่ลงในยูทิลิตี้ qemu-img สำหรับจัดการบิตแมปถาวรในไฟล์ qcow2 qemu-img ยังใช้การจัดการคีย์ LUKS (ช่องคีย์) และนำเสนอความสามารถเพิ่มเติมสำหรับคำสั่ง "map" (--start-offset, -max-length) และ "convert" (-bitmaps) คำสั่ง "measure" จะแสดงข้อมูลในขณะนี้ เกี่ยวกับขนาดของบิตแมปถาวรในไฟล์ qcow2
  • ขณะนี้ไดรเวอร์ NVMe รองรับ Persistent Memory Regions ที่นำมาใช้ในข้อกำหนด NVMe 1.4
  • สำหรับระบบแขกที่มีตัวสร้างโค้ด TCG (Tiny Code Generator) แบบคลาสสิก ความสามารถในการใช้กระบวนการต่างๆ จะถูกนำไปใช้ ผู้ใช้ vhostรวมถึง virtiofsd เพิ่มส่วนขยาย VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS ให้กับผู้ใช้ vhost แล้ว ทำให้คุณสามารถลงทะเบียนช่อง RAM ได้มากกว่า 8 ช่อง

ที่มา: opennet.ru

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