QEMU

ภาพหน้าจอของซอฟแวร์:
QEMU
รายละเอียดซอฟแวร์:
รุ่น: 2.12.0 การปรับปรุง
วันที่อัพโหลด: 22 Jun 18
ผู้พัฒนา: Fabrice Bellard
การอนุญาต: ฟรี
ความนิยม: 51

Rating: nan/5 (Total Votes: 0)

QEMU เป็นซอฟต์แวร์โอเพนซอร์สและซอฟต์แวร์การจำลองแบบที่รวดเร็วมากซึ่งมุ่งเน้นการแปลแบบไดนามิกเพื่อให้ได้สมรรถนะที่สมเหตุสมผลในขณะที่ใช้งานง่ายกับพอร์ต CPU ใหม่ (โปรเซสเซอร์)


เครื่องจำลองเครื่องที่มีประสิทธิภาพและ Virtualizer

นอกจากนี้ยังเรียกอีกอย่างว่าเครื่องจำลองระบบซึ่งออกแบบมาเพื่อเลียนแบบระบบเต็มรูปแบบรวมถึงโปรเซสเซอร์และอุปกรณ์ต่อพ่วงต่างๆ ส่วนการจำลองจะสนับสนุนระบบปฏิบัติการและโปรแกรมที่สร้างขึ้นสำหรับแพลตฟอร์มฮาร์ดแวร์ตัวเดียว แต่ทำงานอยู่ด้านบนของคอมพิวเตอร์เครื่องอื่นด้วยสถาปัตยกรรมที่แตกต่างกัน

ในทางกลับกันเมื่อแอ็พพลิเคชันใช้เป็นเสมือนออบเจ็กต์จะสามารถบรรลุการแสดงผลแบบดั้งเดิมโดยใช้รหัสผู้เยี่ยมชมตรงกับโปรเซสเซอร์โฮสต์ สนับสนุนเมนบอร์ด Xen hypervisor และเคอร์เนล KVM (Kernel Virtual Machine)


สนับสนุน virtualization ของแพลตฟอร์มฮาร์ดแวร์จำนวนมาก

ถ้าต้องการใช้ KVM แอ็พพลิเคชันจะสามารถทำเวอร์ช่วลไลซ์ x86 (32 บิต), s390, PowerPC, ARM, m68k, MIPS, CRIS, Microblaze, MIPSEL หรือ 32 และเครื่อง SPARC สามารถเลียนแบบระบบ Windows XP, FreeDOS และ SunOS ตลอดจน Virtio, USB Root Hub, อุปกรณ์เครือข่าย, อินพุตวิดีโอและอุปกรณ์เก็บข้อมูล

หลังจาก VirtualBox และ VMware QEMU เป็นซอฟต์แวร์ virtualization ที่ใหญ่เป็นอันดับสามของแพลตฟอร์ม Linux แต่เป็นระบบแรกและมีประสิทธิภาพมากที่สุดสำหรับระบบนิเวศโอเพนซอร์ส คุณลักษณะสำคัญของมันคือความสามารถในการทำงานเป็นเสมือนเครื่องเสมือนบนสถาปัตยกรรม 64 บิตหรือ 32 บิตหรือเป็นโปรแกรมจำลองที่บริสุทธิ์


ระบบปฏิบัติการที่สนับสนุน

เป็นซอฟต์แวร์บรรทัดคำสั่งและทำงานบนระบบปฏิบัติการที่ใช้ระบบปฏิบัติการ Linux รวมถึง Microsoft Windows และรสชาติ UNIX ต่างๆ มีการเก็บข้อมูลที่มาในส่วนการดาวน์โหลดโดยเฉพาะเพื่อให้ผู้ใช้สามารถกำหนดค่าคอมไพล์และติดตั้งโปรแกรมในการแจกจ่าย Linux ได้เช่นเดียวกับระบบ OpenBSD, Solaris, AIX, MinGW และ Cygwin


บรรทัดด้านล่าง

ไม่ว่าคุณจะต้องการทดสอบซอฟต์แวร์ทดลองใช้ระบบปฏิบัติการต่างๆหรือเพียงแค่เรียกใช้แอพพลิเคชันที่ไม่ได้รับการสนับสนุนบนแพลตฟอร์มของคุณ QEMU ให้ผู้ใช้เครื่องจำลองเสมือนจริงและเครื่องจำลองอัตโนมัติที่เร็วที่สุดแห่งหนึ่ง

มีอะไรใหม่ ในรุ่นนี้:

  • การจำลองระบบ:
  • การเปลี่ยนแปลงที่ไม่สามารถเข้ากันได้:
  • จำนวนสะพาน PCI เจ้าภาพสำหรับเครื่อง pSeries ลดลงจาก 256 เป็น 31 (สามารถกำหนดค่าได้มากขึ้นโดยการตั้งค่าหน้าต่าง MMIO ด้วยตนเอง)
  • ลบการสนับสนุน tftp: // ในเลเยอร์บล็อกเนื่องจากไฟล์นี้มีขนาดใหญ่กว่า 256 กิโลไบต์เสียแล้ว
  • การเปลี่ยนแปลงที่เข้ากันไม่ได้ในอนาคต:
  • สามตัวเลือกใช้ชื่ออื่นในบรรทัดคำสั่งและในไฟล์คอนฟิกูเรชัน โดยเฉพาะ:
  • ส่วน & quot; acpi & quot; ส่วนไฟล์การกำหนดค่าจะตรงกับตัวเลือกบรรทัดคำสั่ง & quot; acpitable & quot;;
  • ส่วน "ตัวเลือกการบูต" & quot; ส่วนไฟล์การกำหนดค่าจะตรงกับตัวเลือกบรรทัดคำสั่ง & quot; boot & quot;;
  • ส่วน & quot; smp-opts & quot; ส่วนไฟล์การกำหนดค่าจะตรงกับตัวเลือกบรรทัดคำสั่ง & quot; smp & quot;.
  • -readconfig จะสร้างมาตรฐานสำหรับชื่อของตัวเลือกบรรทัดคำสั่ง
  • ลักษณะการคำนวณโดยอัตโนมัติของโทโพโลยี SMP เมื่อตัวเลือก topology SMP สำหรับ -smp ถูกละเว้น (ซ็อกเก็ต, แกน, เธรด) จะมีการเปลี่ยนแปลงในอนาคต หากผู้เยี่ยมชม ABI ต้องได้รับการเก็บรักษาไว้ในการอัปเกรดในขณะที่ใช้ตัวเลือก topology SMP ผู้ใช้ควรตั้งค่าตัวเลือกทั้งหมดไว้อย่างชัดเจน (ซ็อกเก็ตแกนโพรไฟล์) หรือละเว้นทั้งหมด
  • อุปกรณ์ "allwinner-a10" & quot; pc87312 & quot ;, & quot; ssi-sd & quot; จะถูกกำหนดค่าด้วยคุณสมบัติที่ชัดเจนแทนโดยปริยาย นี่อาจไม่ส่งผลกระทบต่อผู้ใช้
  • คำสั่ง QMP blockdev-add ยังคงเป็นงานที่ดำเนินการอยู่ ไม่สนับสนุนไดรเวอร์บล็อกทั้งหมดไม่มีคุณลักษณะ blockdev-del ที่ตรงกันและอื่น ๆ อาจมีการเปลี่ยนแปลงไม่เข้ากันได้
  • สำหรับ x86 ระบุคุณลักษณะ CPUID ด้วยทั้ง & quot; + feature / -feature & quot; และ & quot; คุณลักษณะ = เปิด / ปิด & quot; จะทำให้เกิดการเตือน พฤติกรรมปัจจุบันสำหรับชุดค่าผสมนี้ (& quot; + feature / -feature & quot; ชนะเหนือ & quot; คุณลักษณะ = เปิด / ปิด & quot;) จะเปลี่ยนไปเพื่อให้ & quot; + คุณลักษณะ & quot; และ "quot; คุณลักษณะ & quot; จะเป็นคำพ้องสำหรับ & quot; คุณลักษณะ = on & quot; และ & quot; คุณลักษณะ = ปิด & quot; ตามลำดับ).
  • ARM:
  • การปรับปรุงในบอร์ด Aspeed
  • สนับสนุน trap แบบ semihosting HLT ในโหมด AArch32 (ทั้ง ARM และ Thumb)
  • ตาราง ACPI สำหรับ & quot; virt & quot; ประเภทเครื่องสนับสนุน ITS
  • ขณะนี้อุปกรณ์ Cadence GEM สนับสนุนลำดับความสำคัญหลายรายการผ่านทางคุณสมบัติ num-priority-queues
  • บอร์ด STM32F2xx (Netduino 2) มีอุปกรณ์ ADC และ SPI แล้ว
  • MIPS:
  • การสนับสนุนซีพียู 24KEc
  • PowerPC:
  • การสนับสนุน POWER9 ซีพียู
  • การปรับปรุงสำหรับ "powernv & quot; ใหม่" แพลตฟอร์ม.
  • pSeries:
  • สะพานโฮสต์ PCI สามารถเชื่อมโยงกับโหนด NUMA
  • สนับสนุนมากกว่า 1 หน่วยความจำผู้เยี่ยมชม
  • รองรับหน้าต่าง MMIO Window มากกว่า 64 Giant ในสะพานโฮสต์ PCI
  • การสนับสนุนสำหรับ & quot; -prom-env & quot; พารามิเตอร์
  • s390:
  • การสนับสนุนโมเดลซีพียู
  • สนับสนุนการแก้ไข virtio-ccw 2.
  • x86:
  • การสนับสนุนคุณลักษณะ CPUID ใหม่ ๆ ที่เกี่ยวข้องกับส่วนขยายของชุดคำสั่ง AVX-512
  • IOAPIC ที่เลียนแบบ (ใช้โดย TCG และกับ KVM หากตัวเลือก & quot; -machine kernel_irqchip & quot; มีค่า & quot; ปิด & quot; หรือ & quot; แยก & quot;) ตอนนี้เป็นค่าเริ่มต้นเป็นเวอร์ชัน 0x20 ซึ่งสนับสนุนการสิ้นสุดแบบ end-of- ขัดจังหวะข้อความ
  • การสนับสนุน Extended Interrupt Mode (EIM) ในอุปกรณ์ intel_iommu EIM ต้องใช้ KVM (Linux v4.7 หรือใหม่กว่าสำหรับการสนับสนุน x2APIC) และ & quot; -machine kernel-irqchip = split & quot ;; จะเปิดใช้งานโดยอัตโนมัติหากมีการเปิดใช้งานการเปิดใช้งานการขัดจังหวะการขัดจังหวะอยู่ (& quot; -machine kernel-irqchip = split- intel_iommu, intremap = on & quot;)
  • รองรับได้ถึง 288 CPU โดยใช้เครื่อง Q35 CPU 256 ตัวขึ้นไปจะได้รับการสนับสนุนเฉพาะเมื่อเปิดใช้ IOMMU และ EIM
  • Xen:
  • การสนับสนุนการถอดปลั๊กดิสก์ SCSI
  • การสนับสนุนอุปกรณ์ที่รองรับ SUSE xenlinux ถอดปลั๊กออก
  • การจำลองอุปกรณ์และการกำหนด:
  • ขณะนี้ QEMU มีอุปกรณ์ pseudo-loader แบบทั่วไปที่ช่วยให้คุณโหลดรูปภาพหรือค่าต่างๆลงในหน่วยความจำเมื่อเริ่มต้น อุปกรณ์นี้มีการระบุไว้ใน docs / generic-loader.txt
  • ACPI:
  • การสนับสนุนการเสียบปลั๊กอุปกรณ์ NVDIMM (_FIT)
  • อุปกรณ์เครือข่าย:
  • สนับสนุนการป้องกันความผิดพลาดตามขั้นตอนการล็อกหยาบหยาบ (COLO)
  • PCI / PCIe:
  • อุปกรณ์ EDU ตัวอย่างสนับสนุน MSI แล้ว
  • มีการเพิ่มเอกสารแนะนำแนวทาง PCI Express สำหรับคำแนะนำเกี่ยวกับโครงสร้างและ PCI และ PCIe
  • virtio:
  • vhost อุปกรณ์ใหม่ - vsock
  • การสนับสนุนขั้นต้นสำหรับการจัดการกับข้อผิดพลาดจากผู้เยี่ยมชม (เช่น QEMU ไม่ควรออกจากข้อผิดพลาดจากผู้เข้าร่วม)
  • การสนับสนุนอุปกรณ์ virtio-crypto ใหม่
  • Xen:
  • การสนับสนุนสำเนาใบอนุญาต
  • ระบบย่อย Crypto:
  • สนับสนุนอัลกอริทึมแฮชเพิ่มเติมสำหรับ PBKDF
  • การสนับสนุนโหมด CTR
  • GUI:
  • SPICE สามารถใช้การแสดงผล OpenGL ที่บริสุทธิ์ได้หาก & quot; gl = on & quot; ถูกระบุไว้
  • การตรวจสอบ:
  • การโยกย้าย:
  • สนับสนุนการป้องกันความผิดพลาดตามขั้นตอนการล็อกหยาบหยาบ (COLO)
  • เครือข่าย:
  • บล็อกอุปกรณ์และเครื่องมือ:
  • คำสั่ง QMP เพิ่มเติมรองรับ node-name (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing-file) , ไดรฟ์สำรอง, ไดรฟ์มิเรอร์, nbd-server-add)
  • เหตุการณ์ BLOCK_IO_ERROR ตอนนี้มีชื่อโหนด
  • คำสั่ง QMP เพิ่มเติมสามารถใช้ชื่อรุ่นของอุปกรณ์ (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
  • เหตุการณ์ DEVICE_TRAY_MOVED มีรหัสอุปกรณ์แล้ว
  • ขณะนี้การควบคุมการเค้นก้นบึ้งจะใช้กับอุปกรณ์ของผู้เยี่ยมชมเท่านั้นไม่ใช่เพื่อบล็อกงานหรือเซิร์ฟเวอร์ NBD
  • การสำรองข้อมูลจากไดรฟ์และการสำรองข้อมูล blockdev การเขียนการสำรองข้อมูลในรูปแบบบีบอัด
  • รูปแบบ LUKS สามารถกำหนดค่าการนับซ้ำ PBKDF ได้
  • บล็อกสตรีมสนับสนุนสตรีมจากไฟล์สำรองไปยังไฟล์สำรองอื่น ๆ
  • สนับสนุนการจำลองแบบสำหรับการยอมรับความผิดพลาดในการล็อคสตาร์ทแบบหยาบ (COLO)
  • ใหม่ & quot; dd & quot; subcomamand ของ qemu-img
  • ไดร์เวอร์ DMG สามารถคอมไพล์ไปยังไดร์เวอร์แยกต่างหากเพื่อให้การพึ่งพิง QEMU กับ libbz2 เป็นทางเลือก
  • การสนับสนุน iSER ในตัวเริ่ม iSCSI ของ QEMU ผ่าน iser: // URI
  • ไคลเอ็นต์และเซิร์ฟเวอร์ NBD สนับสนุนส่วนขยาย NBD_CMD_WRITE_ZEROES
  • การสนับสนุนรูปภาพดิบ & quot; ชดเชย & quot; และ & quot; ขนาด & quot; ตัวเลือกในการเข้าถึงเฉพาะส่วนของไฟล์หรืออุปกรณ์
  • ติดตาม:
  • แบ็กเอนด์การติดตามใหม่ & quot; syslog & quot;
  • การสนับสนุนหลายรายการ & quot; -d trace: PATTERN & quot; อาร์กิวเมนต์บรรทัดคำสั่ง
  • ตัวเลือก CLI:
  • การจำลองโหมดผู้ใช้
  • ลบการสนับสนุนเป้าหมาย
  • เป้าหมายของผู้ใช้ unicore32-linux ใช้ระบบที่แตกต่างจาก ABI จากไลบรารีลินุกซ์สำหรับสถาปัตยกรรมนี้ การสนับสนุนได้ลดลงแล้ว
  • ฟังก์ชันใหม่:
  • เพิ่มการสนับสนุนสำหรับ syscalls เพิ่มเติมรวมทั้ง preadv, pwritev, syslog
  • การปรับปรุงขีดความสามารถที่สำคัญสำหรับโปรแกรมแบบมัลติเธรด (ARM, SPARC, x86)
  • QEMU สามารถเข้าใจและสร้างการดำเนินงานรั้วและ cmpxchg ได้
  • TCG:
  • เพิ่ม primitives TCG ใหม่เพื่อสร้างโมเดลการซิงค์สถาปัตยกรรมอย่างปลอดภัย (เช่น atomics, LL / SC, LOCK prefixes) แขน, aarch64, alpha และ x86 target ตอนนี้ใช้ primitives เหล่านี้สำหรับโปรแกรม multi-threaded linux-user ผู้ดูแลเป้าหมายของ TCG จะได้รับการสนับสนุนให้ใช้พอร์ตเล็ตด้านหน้าเพื่อใช้สิ่งอำนวยความสะดวกใหม่ ๆ
  • แบ็กเอนด์ TCG จะส่งคำแนะนำเกี่ยวกับอุปสรรคที่เหมาะสมสำหรับอุปสรรคส่วนหน้าเมื่อใช้งานโปรแกรมมัลติเธรด อย่างไรก็ตามการเลียนแบบสถาปัตยกรรมที่สั่งซื้ออย่างมาก (เช่น x86) เมื่อใช้งานอย่างอ่อน (เช่น ARM หรือ POWER) จะไม่ทำงาน
  • tb_flush () มีความหมายว่า thread-safe หมายถึงโปรแกรมแบบมัลติเธรดมีโอกาสน้อยที่จะล้มเหลวเมื่อตั้งค่าบัฟเฟอร์การแปล
  • ล็อคการโต้แย้งในซีพียูของซีพียูหลักได้ลดประสิทธิภาพการทำงานของโค้ดแบบมัลติเธรด
  • มีการระบุและแก้ไขจำนวนเชื้อชาติ
  • งาน TCG จำนวนมากรวมอยู่ในวัฏจักรนี้ซึ่งมีข้อกำหนดเบื้องต้นสำหรับการสนับสนุนการจำลองระบบแบบมัลติเธรด (MTTCG) ในขณะที่การสนับสนุน MTTCG เต็มรูปแบบคาดว่าจะผสานเข้ากับวัฏจักรการพัฒนาต่อไปโปรแกรมลินุกซ์แบบมัลติเธรดจะได้รับประโยชน์จากงานนี้แล้ว

มีอะไรใหม่ ในเวอร์ชัน:

  • การจำลองระบบ:
  • การเปลี่ยนแปลงที่ไม่สามารถเข้ากันได้:
  • จำนวนสะพาน PCI เจ้าภาพสำหรับเครื่อง pSeries ลดลงจาก 256 เป็น 31 (สามารถกำหนดค่าได้มากขึ้นโดยการตั้งค่าหน้าต่าง MMIO ด้วยตนเอง)
  • ลบการสนับสนุน tftp: // ในเลเยอร์บล็อกเนื่องจากไฟล์นี้มีขนาดใหญ่กว่า 256 กิโลไบต์เสียแล้ว
  • การเปลี่ยนแปลงที่เข้ากันไม่ได้ในอนาคต:
  • สามตัวเลือกใช้ชื่ออื่นในบรรทัดคำสั่งและในไฟล์คอนฟิกูเรชัน โดยเฉพาะ:
  • ส่วนไฟล์ "acpi" ตรงกับตัวเลือกบรรทัดคำสั่ง "acpitable";
  • ส่วนไฟล์การตั้งค่า "boot-opts" ตรงกับตัวเลือกบรรทัดคำสั่ง "boot";
  • ส่วนไฟล์การกำหนดค่า "smp-opts" ตรงกับตัวเลือกบรรทัดคำสั่ง "smp"
  • -readconfig จะสร้างมาตรฐานสำหรับชื่อของตัวเลือกบรรทัดคำสั่ง
  • ลักษณะการคำนวณโดยอัตโนมัติของโทโพโลยี SMP เมื่อตัวเลือก topology SMP สำหรับ -smp ถูกละเว้น (ซ็อกเก็ต, แกน, เธรด) จะมีการเปลี่ยนแปลงในอนาคต ถ้า ABI ผู้เยี่ยมชมต้องได้รับการเก็บรักษาไว้เมื่อมีการอัปเกรดในขณะที่ใช้ตัวเลือก topology SMP ผู้ใช้ควรตั้งค่าตัวเลือกทั้งหมดไว้อย่างชัดเจน (ซ็อกเก็ตแกนหรือเธรด) หรือ
  • อุปกรณ์ "allwinner-a10", "pc87312", "ssi-sd" จะได้รับการกำหนดค่าด้วยคุณสมบัติที่ชัดเจนแทนโดยปริยาย นี่อาจไม่ส่งผลกระทบต่อผู้ใช้
  • คำสั่ง QMP blockdev-add ยังคงเป็นงานที่ดำเนินการอยู่ ไม่สนับสนุนไดรเวอร์บล็อกทั้งหมดไม่มีคุณลักษณะ blockdev-del ที่ตรงกันและอื่น ๆ อาจมีการเปลี่ยนแปลงไม่เข้ากันได้
  • สำหรับ x86 การระบุคุณลักษณะ CPUID ด้วย "+ คุณลักษณะ / คุณลักษณะ" และ "คุณลักษณะ = เปิด / ปิด" จะทำให้เกิดคำเตือน พฤติกรรมปัจจุบันสำหรับชุดค่าผสมนี้ (คุณลักษณะ "+ คุณลักษณะ / คุณลักษณะ" จะชนะเหนือ "คุณลักษณะ = เปิด / ปิด") จะถูกเปลี่ยนเพื่อให้ "+ คุณลักษณะ" และ "-feature" เป็นคำพ้องความหมายสำหรับ "feature = on" และ "feature = ปิด "ตามลำดับ)
  • ARM:
  • การปรับปรุงในบอร์ด Aspeed
  • สนับสนุน trap แบบ semihosting HLT ในโหมด AArch32 (ทั้ง ARM และ Thumb)
  • ตาราง ACPI สำหรับการสนับสนุนประเภทเครื่อง "virt" ITS
  • ขณะนี้อุปกรณ์ Cadence GEM สนับสนุนลำดับความสำคัญหลายรายการผ่านทางคุณสมบัติ num-priority-queues
  • บอร์ด STM32F2xx (Netduino 2) มีอุปกรณ์ ADC และ SPI แล้ว
  • MIPS:
  • การสนับสนุนซีพียู 24KEc
  • PowerPC:
  • การสนับสนุน POWER9 ซีพียู
  • การปรับปรุงสำหรับแพลตฟอร์ม "powernv" ใหม่
  • pSeries:
  • สะพานโฮสต์ PCI สามารถเชื่อมโยงกับโหนด NUMA
  • สนับสนุนมากกว่า 1 หน่วยความจำผู้เยี่ยมชม
  • รองรับหน้าต่าง MMIO Window มากกว่า 64 Giant ในสะพานโฮสต์ PCI
  • การสนับสนุนพารามิเตอร์ "-prom-env"
  • s390:
  • การสนับสนุนโมเดลซีพียู
  • สนับสนุนการแก้ไข virtio-ccw 2.
  • x86:
  • การสนับสนุนคุณลักษณะ CPUID ใหม่ ๆ ที่เกี่ยวข้องกับส่วนขยายของชุดคำสั่ง AVX-512
  • IOAPIC ที่เลียนแบบ (ใช้โดย TCG และกับ KVM ถ้าตัวเลือก "-machine kernel_irqchip" มีค่าเป็น "ปิด" หรือ "แบ่ง") จะเริ่มต้นเป็นเวอร์ชัน 0x20 ซึ่งรองรับข้อความสิ้นสุดของการขัดจังหวะที่กำหนด
  • การสนับสนุน Extended Interrupt Mode (EIM) ในอุปกรณ์ intel_iommu EIM ต้องใช้ KVM (Linux v4.7 หรือใหม่กว่าสำหรับการสนับสนุน x2APIC) และ "-machine kernel-irqchip = split"; ("-machine kernel-irqchip = split -device intel_iommu, intremap = on")
  • รองรับได้ถึง 288 CPU โดยใช้เครื่อง Q35 CPU 256 ตัวขึ้นไปจะได้รับการสนับสนุนเฉพาะเมื่อเปิดใช้ IOMMU และ EIM
  • Xen:
  • การสนับสนุนการถอดปลั๊กดิสก์ SCSI
  • การสนับสนุนอุปกรณ์ที่รองรับ SUSE xenlinux ถอดปลั๊กออก
  • การจำลองอุปกรณ์และการกำหนด:
  • ขณะนี้ QEMU มีอุปกรณ์ pseudo-loader แบบทั่วไปที่ช่วยให้คุณโหลดรูปภาพหรือค่าต่างๆลงในหน่วยความจำเมื่อเริ่มต้น อุปกรณ์นี้มีการระบุไว้ใน docs / generic-loader.txt
  • ACPI:
  • การสนับสนุนการเสียบปลั๊กอุปกรณ์ NVDIMM (_FIT)
  • อุปกรณ์เครือข่าย:
  • สนับสนุนการป้องกันความผิดพลาดตามขั้นตอนการล็อกหยาบหยาบ (COLO)
  • PCI / PCIe:
  • อุปกรณ์ EDU ตัวอย่างสนับสนุน MSI แล้ว
  • มีการเพิ่มเอกสารแนะนำแนวทาง PCI Express สำหรับคำแนะนำเกี่ยวกับโครงสร้างและ PCI และ PCIe
  • virtio:
  • vhost อุปกรณ์ใหม่ - vsock
  • การสนับสนุนขั้นต้นสำหรับการจัดการกับข้อผิดพลาดจากผู้เยี่ยมชม (เช่น QEMU ไม่ควรออกจากข้อผิดพลาดจากผู้เข้าร่วม)
  • การสนับสนุนอุปกรณ์ virtio-crypto ใหม่
  • Xen:
  • การสนับสนุนสำเนาใบอนุญาต
  • ระบบย่อย Crypto:
  • สนับสนุนอัลกอริทึมแฮชเพิ่มเติมสำหรับ PBKDF
  • การสนับสนุนโหมด CTR
  • GUI:
  • SPICE สามารถใช้การแสดงผล OpenGL แบบ pure ได้ถ้าระบุ "gl = on" ไว้
  • การตรวจสอบ:
  • การโยกย้าย:
  • สนับสนุนการป้องกันความผิดพลาดตามขั้นตอนการล็อกหยาบหยาบ (COLO)
  • เครือข่าย:
  • บล็อกอุปกรณ์และเครื่องมือ:
  • คำสั่ง QMP เพิ่มเติมรองรับ node-name (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing-file) , ไดรฟ์สำรอง, ไดรฟ์มิเรอร์, nbd-server-add)
  • เหตุการณ์ BLOCK_IO_ERROR ตอนนี้มีชื่อโหนด
  • คำสั่ง QMP เพิ่มเติมสามารถใช้ชื่อรุ่นของอุปกรณ์ (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
  • เหตุการณ์ DEVICE_TRAY_MOVED มีรหัสอุปกรณ์แล้ว
  • ขณะนี้การควบคุมการเค้นก้นบึ้งจะใช้กับอุปกรณ์ของผู้เยี่ยมชมเท่านั้นไม่ใช่เพื่อบล็อกงานหรือเซิร์ฟเวอร์ NBD
  • การสำรองข้อมูลจากไดรฟ์และการสำรองข้อมูล blockdev การเขียนการสำรองข้อมูลในรูปแบบบีบอัด
  • รูปแบบ LUKS สามารถกำหนดค่าการนับซ้ำ PBKDF ได้
  • บล็อกสตรีมสนับสนุนสตรีมจากไฟล์สำรองไปยังไฟล์สำรองอื่น ๆ
  • สนับสนุนการจำลองแบบสำหรับการยอมรับความผิดพลาดในการล็อคสตาร์ทแบบหยาบ (COLO)
  • คอมมานด์ "dd" ใหม่ของ qemu-img
  • ไดร์เวอร์ DMG สามารถคอมไพล์ไปยังไดร์เวอร์แยกต่างหากเพื่อให้การพึ่งพิง QEMU กับ libbz2 เป็นทางเลือก
  • การสนับสนุน iSER ในตัวเริ่ม iSCSI ของ QEMU ผ่าน iser: // URI
  • ไคลเอ็นต์และเซิร์ฟเวอร์ NBD สนับสนุนส่วนขยาย NBD_CMD_WRITE_ZEROES
  • รูปภาพดิบสนับสนุนตัวเลือก "ออฟเซ็ท" และ "ขนาด" เพื่อเข้าถึงเฉพาะส่วนของไฟล์หรืออุปกรณ์
  • ติดตาม:
  • แบ็กเอนด์การติดตามใหม่ "syslog"
  • สนับสนุนหลายอาร์กิวเมนต์บรรทัดคำสั่ง "-d trace: PATTERN"
  • ตัวเลือก CLI:
  • การจำลองโหมดผู้ใช้
  • ลบการสนับสนุนเป้าหมาย
  • เป้าหมายของผู้ใช้ unicore32-linux ใช้ระบบที่แตกต่างจาก ABI จากไลบรารีลินุกซ์สำหรับสถาปัตยกรรมนี้ การสนับสนุนได้ลดลงแล้ว
  • ฟังก์ชันใหม่:
  • เพิ่มการสนับสนุนสำหรับ syscalls เพิ่มเติมรวมทั้ง preadv, pwritev, syslog
  • การปรับปรุงขีดความสามารถที่สำคัญสำหรับโปรแกรมแบบมัลติเธรด (ARM, SPARC, x86)
  • QEMU สามารถเข้าใจและสร้างการดำเนินงานรั้วและ cmpxchg ได้
  • TCG:
  • เพิ่ม primitives TCG ใหม่เพื่อสร้างโมเดลการซิงค์สถาปัตยกรรมอย่างปลอดภัย (เช่น atomics, LL / SC, LOCK prefixes) แขน, aarch64, alpha และ x86 target ตอนนี้ใช้ primitives เหล่านี้สำหรับโปรแกรม multi-threaded linux-user ผู้ดูแลเป้าหมายของ TCG จะได้รับการสนับสนุนให้ใช้พอร์ตเล็ตด้านหน้าเพื่อใช้สิ่งอำนวยความสะดวกใหม่ ๆ
  • แบ็กเอนด์ TCG จะส่งคำแนะนำเกี่ยวกับอุปสรรคที่เหมาะสมสำหรับอุปสรรคส่วนหน้าเมื่อใช้งานโปรแกรมมัลติเธรด อย่างไรก็ตามการเลียนแบบสถาปัตยกรรมที่สั่งซื้ออย่างมาก (เช่น x86) เมื่อใช้งานอย่างอ่อน (เช่น ARM หรือ POWER) จะไม่ทำงาน
  • tb_flush () มีความหมายว่า thread-safe หมายถึงโปรแกรมแบบมัลติเธรดมีโอกาสน้อยที่จะล้มเหลวเมื่อตั้งค่าบัฟเฟอร์การแปล
  • ล็อคการโต้แย้งในซีพียูของซีพียูหลักได้ลดประสิทธิภาพการทำงานของโค้ดแบบมัลติเธรด
  • มีการระบุและแก้ไขจำนวนเชื้อชาติ
  • งาน TCG จำนวนมากรวมอยู่ในวัฏจักรนี้ซึ่งมีข้อกำหนดเบื้องต้นสำหรับการสนับสนุนการจำลองระบบแบบมัลติเธรด (MTTCG) ในขณะที่การสนับสนุน MTTCG เต็มรูปแบบคาดว่าจะผสานเข้ากับวัฏจักรการพัฒนาต่อไปโปรแกรมลินุกซ์แบบมัลติเธรดจะได้รับประโยชน์จากงานนี้แล้ว

มีอะไรใหม่ ในเวอร์ชัน 2.9.0:

  • การจำลองระบบ:
  • การเปลี่ยนแปลงที่ไม่สามารถเข้ากันได้:
  • จำนวนสะพาน PCI เจ้าภาพสำหรับเครื่อง pSeries ลดลงจาก 256 เป็น 31 (สามารถกำหนดค่าได้มากขึ้นโดยการตั้งค่าหน้าต่าง MMIO ด้วยตนเอง)
  • ลบการสนับสนุน tftp: // ในเลเยอร์บล็อกเนื่องจากไฟล์นี้มีขนาดใหญ่กว่า 256 กิโลไบต์เสียแล้ว
  • การเปลี่ยนแปลงที่เข้ากันไม่ได้ในอนาคต:
  • สามตัวเลือกใช้ชื่ออื่นในบรรทัดคำสั่งและในไฟล์คอนฟิกูเรชัน โดยเฉพาะ:
  • ส่วนไฟล์ "acpi" ตรงกับตัวเลือกบรรทัดคำสั่ง "acpitable";
  • ส่วนไฟล์การตั้งค่า "boot-opts" ตรงกับตัวเลือกบรรทัดคำสั่ง "boot";
  • ส่วนไฟล์การกำหนดค่า "smp-opts" ตรงกับตัวเลือกบรรทัดคำสั่ง "smp"
  • -readconfig จะสร้างมาตรฐานสำหรับชื่อของตัวเลือกบรรทัดคำสั่ง
  • ลักษณะการคำนวณโดยอัตโนมัติของโทโพโลยี SMP เมื่อตัวเลือก topology SMP สำหรับ -smp ถูกละเว้น (ซ็อกเก็ต, แกน, เธรด) จะมีการเปลี่ยนแปลงในอนาคต ถ้า ABI ผู้เยี่ยมชมต้องได้รับการเก็บรักษาไว้เมื่อมีการอัปเกรดในขณะที่ใช้ตัวเลือก topology SMP ผู้ใช้ควรตั้งค่าตัวเลือกทั้งหมดไว้อย่างชัดเจน (ซ็อกเก็ตแกนหรือเธรด) หรือ
  • อุปกรณ์ "allwinner-a10", "pc87312", "ssi-sd" จะได้รับการกำหนดค่าด้วยคุณสมบัติที่ชัดเจนแทนโดยปริยาย นี่อาจไม่ส่งผลกระทบต่อผู้ใช้
  • คำสั่ง QMP blockdev-add ยังคงเป็นงานที่ดำเนินการอยู่ ไม่สนับสนุนไดรเวอร์บล็อกทั้งหมดไม่มีคุณลักษณะ blockdev-del ที่ตรงกันและอื่น ๆ อาจมีการเปลี่ยนแปลงไม่เข้ากันได้
  • สำหรับ x86 การระบุคุณลักษณะ CPUID ด้วย "+ คุณลักษณะ / คุณลักษณะ" และ "คุณลักษณะ = เปิด / ปิด" จะทำให้เกิดคำเตือน พฤติกรรมปัจจุบันสำหรับชุดค่าผสมนี้ (คุณลักษณะ "+ คุณลักษณะ / คุณลักษณะ" จะชนะเหนือ "คุณลักษณะ = เปิด / ปิด") จะถูกเปลี่ยนเพื่อให้ "+ คุณลักษณะ" และ "-feature" เป็นคำพ้องความหมายสำหรับ "feature = on" และ "feature = ปิด "ตามลำดับ)
  • ARM:
  • การปรับปรุงในบอร์ด Aspeed
  • สนับสนุน trap แบบ semihosting HLT ในโหมด AArch32 (ทั้ง ARM และ Thumb)
  • ตาราง ACPI สำหรับการสนับสนุนประเภทเครื่อง "virt" ITS
  • ขณะนี้อุปกรณ์ Cadence GEM สนับสนุนลำดับความสำคัญหลายรายการผ่านทางคุณสมบัติ num-priority-queues
  • บอร์ด STM32F2xx (Netduino 2) มีอุปกรณ์ ADC และ SPI แล้ว
  • MIPS:
  • การสนับสนุนซีพียู 24KEc
  • PowerPC:
  • การสนับสนุน POWER9 ซีพียู
  • การปรับปรุงสำหรับแพลตฟอร์ม "powernv" ใหม่
  • pSeries:
  • สะพานโฮสต์ PCI สามารถเชื่อมโยงกับโหนด NUMA
  • สนับสนุนมากกว่า 1 หน่วยความจำผู้เยี่ยมชม
  • รองรับหน้าต่าง MMIO Window มากกว่า 64 Giant ในสะพานโฮสต์ PCI
  • การสนับสนุนพารามิเตอร์ "-prom-env"
  • s390:
  • การสนับสนุนโมเดลซีพียู
  • สนับสนุนการแก้ไข virtio-ccw 2.
  • x86:
  • การสนับสนุนคุณลักษณะ CPUID ใหม่ ๆ ที่เกี่ยวข้องกับส่วนขยายของชุดคำสั่ง AVX-512
  • IOAPIC ที่เลียนแบบ (ใช้โดย TCG และกับ KVM ถ้าตัวเลือก "-machine kernel_irqchip" มีค่าเป็น "ปิด" หรือ "แบ่ง") จะเริ่มต้นเป็นเวอร์ชัน 0x20 ซึ่งรองรับข้อความสิ้นสุดของการขัดจังหวะที่กำหนด
  • การสนับสนุน Extended Interrupt Mode (EIM) ในอุปกรณ์ intel_iommu EIM ต้องใช้ KVM (Linux v4.7 หรือใหม่กว่าสำหรับการสนับสนุน x2APIC) และ "-machine kernel-irqchip = split"; ("-machine kernel-irqchip = split -device intel_iommu, intremap = on")
  • รองรับได้ถึง 288 CPU โดยใช้เครื่อง Q35 CPU 256 ตัวขึ้นไปจะได้รับการสนับสนุนเฉพาะเมื่อเปิดใช้ IOMMU และ EIM
  • Xen:
  • การสนับสนุนการถอดปลั๊กดิสก์ SCSI
  • การสนับสนุนอุปกรณ์ที่รองรับ SUSE xenlinux ถอดปลั๊กออก
  • การจำลองอุปกรณ์และการกำหนด:
  • ขณะนี้ QEMU มีอุปกรณ์ pseudo-loader แบบทั่วไปที่ช่วยให้คุณโหลดรูปภาพหรือค่าต่างๆลงในหน่วยความจำเมื่อเริ่มต้น อุปกรณ์นี้มีการระบุไว้ใน docs / generic-loader.txt
  • ACPI:
  • การสนับสนุนการเสียบปลั๊กอุปกรณ์ NVDIMM (_FIT)
  • อุปกรณ์เครือข่าย:
  • สนับสนุนการป้องกันความผิดพลาดตามขั้นตอนการล็อกหยาบหยาบ (COLO)
  • PCI / PCIe:
  • อุปกรณ์ EDU ตัวอย่างสนับสนุน MSI แล้ว
  • มีการเพิ่มเอกสารแนะนำแนวทาง PCI Express สำหรับคำแนะนำเกี่ยวกับโครงสร้างและ PCI และ PCIe
  • virtio:
  • vhost อุปกรณ์ใหม่ - vsock
  • การสนับสนุนขั้นต้นสำหรับการจัดการกับข้อผิดพลาดจากผู้เยี่ยมชม (เช่น QEMU ไม่ควรออกจากข้อผิดพลาดจากผู้เข้าร่วม)
  • การสนับสนุนอุปกรณ์ virtio-crypto ใหม่
  • Xen:
  • การสนับสนุนสำเนาใบอนุญาต
  • ระบบย่อย Crypto:
  • สนับสนุนอัลกอริทึมแฮชเพิ่มเติมสำหรับ PBKDF
  • การสนับสนุนโหมด CTR
  • GUI:
  • SPICE สามารถใช้การแสดงผล OpenGL แบบ pure ได้ถ้าระบุ "gl = on" ไว้
  • การตรวจสอบ:
  • การโยกย้าย:
  • สนับสนุนการป้องกันความผิดพลาดตามขั้นตอนการล็อกหยาบหยาบ (COLO)
  • เครือข่าย:
  • บล็อกอุปกรณ์และเครื่องมือ:
  • คำสั่ง QMP เพิ่มเติมรองรับ node-name (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing-file) , ไดรฟ์สำรอง, ไดรฟ์มิเรอร์, nbd-server-add)
  • เหตุการณ์ BLOCK_IO_ERROR ตอนนี้มีชื่อโหนด
  • คำสั่ง QMP เพิ่มเติมสามารถใช้ชื่อรุ่นของอุปกรณ์ (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
  • เหตุการณ์ DEVICE_TRAY_MOVED มีรหัสอุปกรณ์แล้ว
  • ขณะนี้การควบคุมการเค้นก้นบึ้งจะใช้กับอุปกรณ์ของผู้เยี่ยมชมเท่านั้นไม่ใช่เพื่อบล็อกงานหรือเซิร์ฟเวอร์ NBD
  • การสำรองข้อมูลจากไดรฟ์และการสำรองข้อมูล blockdev การเขียนการสำรองข้อมูลในรูปแบบบีบอัด
  • รูปแบบ LUKS สามารถกำหนดค่าการนับซ้ำ PBKDF ได้
  • บล็อกสตรีมสนับสนุนสตรีมจากไฟล์สำรองไปยังไฟล์สำรองอื่น ๆ
  • สนับสนุนการจำลองแบบสำหรับการยอมรับความผิดพลาดในการล็อคสตาร์ทแบบหยาบ (COLO)
  • คอมมานด์ "dd" ใหม่ของ qemu-img
  • ไดร์เวอร์ DMG สามารถคอมไพล์ไปยังไดร์เวอร์แยกต่างหากเพื่อให้การพึ่งพิง QEMU กับ libbz2 เป็นทางเลือก
  • การสนับสนุน iSER ในตัวเริ่ม iSCSI ของ QEMU ผ่าน iser: // URI
  • ไคลเอ็นต์และเซิร์ฟเวอร์ NBD สนับสนุนส่วนขยาย NBD_CMD_WRITE_ZEROES
  • รูปภาพดิบสนับสนุนตัวเลือก "ออฟเซ็ท" และ "ขนาด" เพื่อเข้าถึงเฉพาะส่วนของไฟล์หรืออุปกรณ์
  • ติดตาม:
  • แบ็กเอนด์การติดตามใหม่ "syslog"
  • สนับสนุนหลายอาร์กิวเมนต์บรรทัดคำสั่ง "-d trace: PATTERN"
  • ตัวเลือก CLI:
  • การจำลองโหมดผู้ใช้
  • ลบการสนับสนุนเป้าหมาย
  • เป้าหมายของผู้ใช้ unicore32-linux ใช้ระบบที่แตกต่างจาก ABI จากไลบรารีลินุกซ์สำหรับสถาปัตยกรรมนี้ การสนับสนุนได้ลดลงแล้ว
  • ฟังก์ชันใหม่:
  • เพิ่มการสนับสนุนสำหรับ syscalls เพิ่มเติมรวมทั้ง preadv, pwritev, syslog
  • การปรับปรุงขีดความสามารถที่สำคัญสำหรับโปรแกรมแบบมัลติเธรด (ARM, SPARC, x86)
  • QEMU สามารถเข้าใจและสร้างการดำเนินงานรั้วและ cmpxchg ได้
  • TCG:
  • เพิ่ม primitives TCG ใหม่เพื่อสร้างโมเดลการซิงค์สถาปัตยกรรมอย่างปลอดภัย (เช่น atomics, LL / SC, LOCK prefixes) แขน, aarch64, alpha และ x86 target ตอนนี้ใช้ primitives เหล่านี้สำหรับโปรแกรม multi-threaded linux-user ผู้ดูแลเป้าหมายของ TCG จะได้รับการสนับสนุนให้ใช้พอร์ตเล็ตด้านหน้าเพื่อใช้สิ่งอำนวยความสะดวกใหม่ ๆ
  • ส่วนหลังของ TCG จะส่งคำแนะนำเกี่ยวกับอุปสรรคที่เหมาะสมสำหรับอุปสรรคส่วนหน้าเมื่อใช้งานโปรแกรมมัลติเธรด อย่างไรก็ตามการเลียนแบบสถาปัตยกรรมที่สั่งซื้ออย่างมาก (เช่น x86) เมื่อใช้งานอย่างอ่อน (เช่น ARM หรือ POWER) จะไม่ทำงาน
  • tb_flush () มีความหมายว่า thread-safe หมายถึงโปรแกรมแบบมัลติเธรดมีโอกาสน้อยที่จะล้มเหลวเมื่อตั้งค่าบัฟเฟอร์การแปล
  • ล็อคการโต้แย้งในซีพียูของซีพียูหลักได้ลดประสิทธิภาพการทำงานของโค้ดแบบมัลติเธรด
  • มีการระบุและแก้ไขจำนวนเชื้อชาติ
  • งาน TCG จำนวนมากรวมอยู่ในวัฏจักรนี้ซึ่งมีข้อกำหนดเบื้องต้นสำหรับการสนับสนุนการจำลองระบบแบบมัลติเธรด (MTTCG) ในขณะที่การสนับสนุน MTTCG เต็มรูปแบบคาดว่าจะผสานเข้ากับวัฏจักรการพัฒนาต่อไปโปรแกรมลินุกซ์แบบมัลติเธรดจะได้รับประโยชน์จากงานนี้แล้ว

ซอฟแวร์อื่น ๆ ของนักพัฒนา Fabrice Bellard

Tiny C Compiler
Tiny C Compiler

3 Jun 15

KQEMU
KQEMU

2 Jun 15

ความคิดเห็นที่ QEMU

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!