QEMU 4.2 เจ‡เจฎเฉ‚เจฒเฉ‡เจŸเจฐ เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ

เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฐเฉ€เจฒเฉ€เจœเจผ เจ•เจฟเจฎเจฏเฉ‚ 4.2. เจ‡เฉฑเจ• เจ‡เจฎเฉ‚เจฒเฉ‡เจŸเจฐ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡, QEMU เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจฟเจธเจŸเจฎ เจ‰เฉฑเจคเฉ‡ เจ‡เฉฑเจ• เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจฒเจˆ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฌเจฟเจฒเจ•เฉเจฒ เจตเฉฑเจ–เจฐเฉ‡ เจขเจพเจ‚เจšเฉ‡ เจตเจพเจฒเฉ‡ เจธเจฟเจธเจŸเจฎ เจ‰เฉฑเจคเฉ‡ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• x86-เจ…เจจเฉเจ•เฉ‚เจฒ PC เจ‰เฉฑเจคเฉ‡ เจ‡เฉฑเจ• ARM เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจšเจฒเจพเจ“เฅค QEMU เจตเจฟเฉฑเจš เจตเจฐเจšเฉเจ…เจฒเจพเจˆเจœเฉ‡เจธเจผเจจ เจฎเฉ‹เจก เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจ…เจฒเฉฑเจ— เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจš เจ•เฉ‹เจก เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ CPU เจ‰เฉฑเจคเฉ‡ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเฉ‡ เจธเจฟเฉฑเจงเฉ‡ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจ…เจคเฉ‡ Xen เจนเจพเจˆเจชเจฐเจตเจพเจˆเจœเจผเจฐ เจœเจพเจ‚ KVM เจฎเฉ‹เจกเฉ€เจŠเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจจเฉ‡เจŸเจฟเจต เจธเจฟเจธเจŸเจฎ เจฆเฉ‡ เจจเฉ‡เฉœเฉ‡ เจนเฉˆเฅค

เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจซเฉˆเจฌเจฐเจฟเจธ เจฌเฉ‡เจฒเจพเจฐเจก เจฆเฉเจ†เจฐเจพ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€ เจคเจพเจ‚ เจœเฉ‹ x86 เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจฒเจˆ เจฌเจฃเจพเจ เจ—เจ เจฒเฉ€เจจเจ•เจธ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจจเฉ‚เฉฐ เจ—เฉˆเจฐ-x86 เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ 'เจคเฉ‡ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฑเจคเฉ€ เจœเจพ เจธเจ•เฉ‡เฅค เจตเจฟเจ•เจพเจธ เจฆเฉ‡ เจธเจพเจฒเจพเจ‚ เจฆเฉŒเจฐเจพเจจ, 14 เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฒเจˆ เจชเฉ‚เจฐเจพ เจ‡เจฎเฉ‚เจฒเฉ‡เจธเจผเจจ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจ‡เจฎเฉ‚เจฒเฉ‡เจŸเจฟเจก เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ 400 เจคเฉ‹เจ‚ เจตเฉฑเจง เจ—เจˆ เจนเฉˆเฅค เจธเฉฐเจธเจ•เจฐเจฃ 4.2 เจฆเฉ€ เจคเจฟเจ†เจฐเฉ€ เจตเจฟเฉฑเจš, 2200 เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจคเฉ‹เจ‚ 198 เจคเฉ‹เจ‚ เจตเฉฑเจง เจฌเจฆเจฒเจพเจ… เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค

เจ•เฉเฉฐเจœเฉ€ เจธเฉเจงเจพเจฐQEMU 4.2 เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†:

  • ะ’ ะบะปะฐััะธั‡ะตัะบะพะผ ะณะตะฝะตั€ะฐั‚ะพั€ะต ะบะพะดะฐ TCG (Tiny Code Generator) ั€ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะฟะปะฐะณะธะฝะพะฒ ะดะปั ะผะพะฝะธั‚ะพั€ะธะฝะณะฐ ะฟั€ะพั†ะตััะพั€ะฝั‹ั… ะธะฝัั‚ั€ัƒะบั†ะธะน ะธ ะฐะดั€ะตัะพะฒ ะฒ ะฟะฐะผัั‚ะธ;
  • ะ’ ะดั€ะฐะนะฒะตั€ะต ะฑะปะพั‡ะฝั‹ั… ัƒัั‚ั€ะพะนัั‚ะฒ NBD (Network Block Device) ะพะฑะตัะฟะตั‡ะตะฝะฐ ะฑะพะปะตะต ัั„ั„ะตะบั‚ะธะฒะฝะฐั ะพะฑั€ะฐะฑะพั‚ะบะฐ ะทะฐะฟั€ะพัะพะฒ ะบะพะฟะธั€ะพะฒะฐะฝะธั ะฟั€ะธ ั‡ั‚ะตะฝะธะธ (copy-on-read). ะšะพะด NBD-ัะตั€ะฒะตั€ะฐ ะพะฟั‚ะธะผะธะทะธั€ะพะฒะฐะฝ ะดะปั ะบะพะฟะธั€ะพะฒะฐะฝะธั ั€ะฐะทั€ะตะถั‘ะฝะฝั‹ั… ะพะฑั€ะฐะทะพะฒ (ั ะฟัƒัั‚ะพั‚ะฐะผะธ). ะ’ะฝะตัะตะฝั‹ ะพะฑั‰ะธะต ัƒะปัƒั‡ัˆะตะฝะธั ะฒ ั€ะตะฐะปะธะทะฐั†ะธัŽ ะบะปะธะตะฝั‚ะฐ ะธ ัะตั€ะฒะตั€ะฐ NBD;
  • ะŸะพะฒั‹ัˆะตะฝะฐ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ัŒ ัˆะธั„ั€ะพะฒะฐะฝะธั LUKS-ะดะธัะบะพะฒ ั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะตะผ ะฐะปะณะพั€ะธั‚ะผะฐ AES-XTS;
  • ะ’ vfio-pci ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ัะฒะพะนัั‚ะฒะฐ ยซfailover_pair_idยป ะดะปั ัƒะฟั€ะพั‰ะตะฝะธั ะผะธะณั€ะฐั†ะธะธ ัƒัั‚ั€ะพะนัั‚ะฒ VFIO;
  • ะ’ virtio-mmio ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ัั‚ะฐะฝะดะฐั€ั‚ะฐ virtio-compatible 2 ะธ ะพะฟั€ะตะดะตะปั‘ะฝะฝะพะณะพ ะฒ ัะฟะตั†ะธั„ะธะบะฐั†ะธะธ virtio 1.1 ะผะตั…ะฐะฝะธะทะผะฐ ัƒะฟะฐะบะพะฒะฐะฝะฝั‹ั… ะฒะธั€ั‚ัƒะฐะปัŒะฝั‹ั… ะพั‡ะตั€ะตะดะตะน (virtqueue) ะดะปั ะพะฑะผะตะฝะฐ ะดะฐะฝะฝั‹ะผะธ ั ะฒะธั€ั‚ัƒะฐะปัŒะฝั‹ะผ ัƒัั‚ั€ะพะนัั‚ะฒะพะผ ะฒะฒะพะดะฐ/ะฒั‹ะฒะพะดะฐ ะฒ ะฟะฐะบะตั‚ะฝะพะผ ั€ะตะถะธะผะต;
  • ะ’ ัะผัƒะปัั‚ะพั€ ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ x86 ะดะพะฑะฐะฒะปะตะฝ ะฝะพะฒั‹ะน ั‚ะธะฟ ัะผัƒะปะธั€ัƒะตะผั‹ั… ะผะฐัˆะธะฝ ยซmicrovmยป, ะธัะฟะพะปัŒะทัƒัŽั‰ะธั… virtio-mmio ะฒะผะตัั‚ะพ PCI ะดะปั ะพะฟั‚ะธะผะธะทะฐั†ะธะธ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ. ะ ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะฒะบะปัŽั‡ะตะฝะธั ะธ ะฒั‹ะบะปัŽั‡ะตะฝะธั VMX ั‡ะตั€ะตะท ั„ะปะฐะณะธ ยซ-cpuยป. ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ัะผัƒะปัั†ะธะธ ั€ะฐััˆะธั€ะตะฝะธะน AVX512 BFloat16. ะžะฑะตัะฟะตั‡ะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะฝะพะฒั‹ั… ะผะพะดะตะปะตะน CPU Denverton (ัะตั€ะฒะตั€ะฝั‹ะน SoC ะฝะฐ ะฑะฐะทะต Atom), Snowridge ะธ Dhyana. ะกั‚ะฐะฑะธะปะธะทะธั€ะพะฒะฐะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ macOS Hypervisor Framework (ยซ-accel hvfยป);
  • ะ’ ัะผัƒะปัั‚ะพั€ ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ ARM ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ัะผัƒะปัั†ะธะธ SoC Aspeed AST2600 (ยซast2600-evbยป). ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ั‚ะตั…ะฝะพะปะพะณะธะธ Semihosting 2.0 c ั€ะฐััˆะธั€ะตะฝะธัะผะธ STDOUT_STDERR/EXIT_EXTENDED, ะบะพั‚ะพั€ะฐั ะฟะพะทะฒะพะปัะตั‚ ัะผัƒะปะธั€ัƒะตะผะพะผัƒ ัƒัั‚ั€ะพะนัั‚ะฒัƒ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ stdout, stderr ะธ stdin ะดะปั ัะพะทะดะฐะฝะธั ั„ะฐะนะปะพะฒ ะฝะฐ ัั‚ะพั€ะพะฝะต ั…ะพัั‚ะฐ. ะ’ KVM ะดะพะฑะฐะฒะปะตะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ะฑะพะปะตะต 256 CPU ะธ ะพะฑะตัะฟะตั‡ะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ SIMD-ะธะฝัั‚ั€ัƒะบั†ะธะน SVE. ะ’ ะฒะธั€ั‚ัƒะฐะปัŒะฝั‹ั… ะผะฐัˆะธะฝะฐั… ั ั‚ะธะฟะพะผ ยซเจ—เฉเจฃยป ั€ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะณะพั€ัั‡ะตะณะพ ะฟะพะดะบะปัŽั‡ะตะฝะธั ะฟะฐะผัั‚ะธ. ะฃะฒะตะปะธั‡ะตะฝะฐ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ัŒ ัะผัƒะปัั†ะธะธ ั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะตะผ ะณะตะฝะตั€ะฐั‚ะพั€ะฐ ะบะพะดะฐ TCG.
  • ะ’ ัะผัƒะปัั‚ะพั€ะต ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ PowerPC ะฟะพัะฒะธะปะฐััŒ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ัะผัƒะปัั†ะธะธ POWER9-ะธะฝัั‚ั€ัƒะบั†ะธะน mffsce, mffscrn ะธ mffscrni. ะ’ ัะผัƒะปะธั€ัƒะตะผั‹ั… ะผะฐัˆะธะฝะฐั… ยซpowernvยป ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ัะธัั‚ะตะผะฝั‹ั… ัƒัั‚ั€ะพะนัั‚ะฒ Homer ะธ OCC SRAM;
  • ะ’ ัะผัƒะปัั‚ะพั€ะต ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ RISC-V ะดะพะฑะฐะฒะปะตะฝะฐ ะพะฟั†ะธั ยซ-initrdยป ะธ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะฟั€ะพัะผะพั‚ั€ะฐ ะฟะพะปะฝะพะณะพ ัะพัั‚ะพัะฝะธั ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ ะฒ ะพั‚ะปะฐะดั‡ะธะบะต;
  • ะ’ ัะผัƒะปัั‚ะพั€ะต ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ s390 ั€ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะธะฝัั‚ั€ัƒะบั†ะธะน IEP (Instruction Execution Protection);
  • ะ’ ัะผัƒะปัั‚ะพั€ ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ 68k ะดะพะฑะฐะฒะปะตะฝะฐ ะฝะฐั‡ะฐะปัŒะฝะฐั ะฒะพะทะผะพะถะฝะพัั‚ัŒ ัะผัƒะปัั†ะธะธ Macintosh Quadro 800 ะธ ะบะปะฐััะธั‡ะตัะบะธั… ัะธัั‚ะตะผ NeXTcube;
  • ะ’ ัะผัƒะปัั‚ะพั€ะต ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ xtensa ะดะพะฑะฐะฒะปะตะฝ ะฝะพะฒั‹ะน ั‚ะธะฟ ัะผัƒะปะธั€ัƒะตะผั‹ั… ะผะฐัˆะธะฝ ยซvirtยป ะธ ั€ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ABI call0 ะดะปั ัะผัƒะปัั†ะธะธ ะฒ ะฟั€ะพัั‚ั€ะฐะฝัั‚ะฒะต ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั.

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹