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

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

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

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

  • อีมูเลเตอร์คอนโทรลเลอร์ NVMe ได้รับการอัปเดตเพื่อให้เป็นไปตามข้อกำหนด NVMe 1.4 และรวมถึงการสนับสนุนเชิงทดลองสำหรับเนมสเปซแบบแบ่งโซน I/O แบบมัลติพาธ และการเข้ารหัสข้อมูลแบบครบวงจรบนไดรฟ์
  • เพิ่มตัวเลือกทดลอง "-machine x-remote" และ "-device x-pci-proxy-dev" เพื่อแปลงอุปกรณ์ให้เป็นอุปกรณ์ภายนอก โหมดนี้รองรับเฉพาะการจำลองอะแดปเตอร์ SCSI lsi53c895 เท่านั้น
  • เพิ่มการสนับสนุนเชิงทดลองสำหรับการสร้างสแนปช็อตของเนื้อหา RAM
  • มีการเพิ่มโมดูล FUSE สำหรับการส่งออกอุปกรณ์บล็อก ซึ่งช่วยให้คุณสามารถเมาท์สไลซ์สถานะของอุปกรณ์บล็อกใดๆ ที่ใช้ในระบบเกสต์ได้ การส่งออกสามารถทำได้ผ่านคำสั่ง block-export-add QMP หรือตัวเลือก "--export" ในยูทิลิตี้ qemu-storage-daemon
  • ขณะนี้โปรแกรมจำลอง ARM รองรับสถาปัตยกรรม ARMv8.1-M 'Helium' และโปรเซสเซอร์ Cortex-M55 รวมถึงคำสั่งขยาย ARMv8.4 TTST, SEL2 และ DIT ได้มีการเพิ่มการรองรับบอร์ด ARM mps3-an524 และ mps3-an547 รวมถึงการจำลองอุปกรณ์เพิ่มเติมสำหรับบอร์ด xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx และ sabrelite
  • สำหรับ ARM ได้มีการนำการสนับสนุน ARMv8.5 MTE (MemTag, Memory Tagging Extension) มาใช้ในโหมดจำลองทั้งระดับระบบและระดับผู้ใช้ ส่วนขยายนี้ช่วยให้สามารถเชื่อมโยงแท็กกับการจัดสรรหน่วยความจำแต่ละครั้ง และช่วยให้มั่นใจว่าตัวชี้จะเชื่อมโยงกับแท็กที่ถูกต้องระหว่างการเข้าถึงหน่วยความจำ ส่วนขยายนี้สามารถใช้เพื่อป้องกันการใช้ประโยชน์จากช่องโหว่ที่เกิดจากการเข้าถึงบล็อกหน่วยความจำที่ว่างแล้ว การล้นบัฟเฟอร์ การเข้าถึงก่อนการเริ่มต้นระบบ และการใช้งานนอกบริบทปัจจุบัน
  • ปัจจุบันอีมูเลเตอร์สถาปัตยกรรม 68k รองรับเครื่องจำลองประเภทใหม่ที่เรียกว่า "virt" ซึ่งใช้อุปกรณ์ virtio เพื่อเพิ่มประสิทธิภาพการทำงาน
  • ปัจจุบันอีมูเลเตอร์สถาปัตยกรรม x86 รองรับเทคโนโลยี AMD SEV-ES (Secure Encrypted Virtualization) เพื่อเข้ารหัสรีจิสเตอร์โปรเซสเซอร์ที่ใช้ในระบบแขก ทำให้เนื้อหาของรีจิสเตอร์ไม่สามารถเข้าถึงได้โดยสภาพแวดล้อมโฮสต์ เว้นแต่ระบบแขกจะให้สิทธิ์การเข้าถึงอย่างชัดเจน
  • เครื่องสร้างโค้ด TCG (Tiny Code Generator) แบบคลาสสิก เมื่อจำลองระบบ x86 จะใช้การรองรับกลไก PKS (Protection Keys Supervisor) ซึ่งสามารถใช้เพื่อป้องกันการเข้าถึงเพจหน่วยความจำที่มีสิทธิพิเศษได้
  • มีการเพิ่มเครื่องจำลองประเภทใหม่ "virt" ลงในเครื่องจำลองสถาปัตยกรรม MIPS ซึ่งรองรับโปรเซสเซอร์ Loongson-3 ของจีน
  • เพิ่มการรองรับตัวควบคุม BMC ภายนอกลงในโปรแกรมจำลองสถาปัตยกรรม PowerPC "powernv" สำหรับเครื่องจำลองแล้ว สำหรับเครื่องจำลอง Pseries ขณะนี้จะมีการแจ้งเตือนเกี่ยวกับความล้มเหลวระหว่างการพยายามถอดหน่วยความจำและ CPU แบบ Hot-removed
  • เพิ่มการรองรับการจำลองโปรเซสเซอร์ Qualcomm Hexagon ด้วย DSP
  • В классическом генераторе кода TCG (Tiny Code Generator) реализована поддержка хост-окружений macOS на системах с новым ARM-чипом Apple M1.
  • อีมูเลเตอร์สถาปัตยกรรม RISC-V สำหรับบอร์ด Microchip PolarFire รองรับแฟลช QSPI NOR แล้ว
  • ตอนนี้อีมูเลเตอร์ Tricore รองรับรุ่น TriBoard ใหม่ที่จำลอง Infineon TC27x SoC แล้ว
  • โปรแกรมจำลอง ACPI ช่วยให้สามารถกำหนดชื่อให้กับอะแดปเตอร์เครือข่ายในระบบแขกที่ไม่ขึ้นอยู่กับลำดับที่เชื่อมต่อกับบัส PCI
  • virtiofs เพิ่มการรองรับสำหรับตัวเลือก FUSE_KILLPRIV_V2 เพื่อปรับปรุงประสิทธิภาพของแขก
  • ปัจจุบัน VNC รองรับความโปร่งใสของเคอร์เซอร์และรองรับการปรับขนาดความละเอียดหน้าจอ virtio-vga ตามขนาดหน้าต่าง
  • QMP (QEMU Machine Protocol) รองรับการเข้าถึงแบบขนานแบบอะซิงโครนัสเมื่อดำเนินการงานสำรองข้อมูลแล้ว
  • ตอนนี้โปรแกรมจำลอง USB มีความสามารถในการบันทึกการรับส่งข้อมูลที่สร้างขึ้นเมื่อทำงานกับอุปกรณ์ USB ลงในไฟล์ pcap แยกต่างหากสำหรับการตรวจสอบในภายหลังใน Wireshark
  • เพิ่มคำสั่ง QMP ใหม่ load-snapshot, save-snapshot และ delete-snapshot สำหรับการจัดการสแนปช็อต qcow2
  • ช่องโหว่ CVE-2020-35517 และ CVE-2021-20263 ได้รับการแก้ไขแล้วใน virtiofs ปัญหาแรกทำให้สามารถเข้าถึงสภาพแวดล้อมโฮสต์จากระบบเกสต์ได้โดยการสร้างไฟล์อุปกรณ์พิเศษในไดเรกทอรีที่ผู้ใช้ที่มีสิทธิ์ใช้งานในระบบเกสต์แชร์กับระบบโฮสต์ ปัญหาที่สองเกิดจากข้อผิดพลาดในการจัดการแอตทริบิวต์แบบขยายในตัวเลือก 'xattrmap' ซึ่งอาจนำไปสู่การละเว้นสิทธิ์การเขียนและการยกระดับสิทธิ์ภายในระบบเกสต์

ที่มา: opennet.ru

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster