ΠžΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π΅ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΎΡ‚ QEMU 4.2

Π’ΠΎΠ²Π΅Π΄Π΅Π½ΠΈ ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ QEMU 4.2. Како Π΅ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€, QEMU Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° составСна Π·Π° Π΅Π΄Π½Π° хардвСрска ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π½Π° систСм со сосСма ΠΏΠΎΠΈΠ½Π°ΠΊΠ²Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ARM Π½Π° ΠΊΠΎΠΌΠΏΡ˜ΡƒΡ‚Π΅Ρ€ ΠΊΠΎΠΌΠΏΠ°Ρ‚ΠΈΠ±ΠΈΠ»Π΅Π½ со x86. Π’ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠΎΡ‚ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π²ΠΎ QEMU, ΠΈΠ·Π²Π΅Π΄Π±Π°Ρ‚Π° Π½Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ‚ Π²ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π° срСдина Π΅ блиску Π΄ΠΎ ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΈΠΎΡ‚ систСм ΠΏΠΎΡ€Π°Π΄ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° инструкциитС Π½Π° процСсорот ΠΈ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π½Π° Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΡ‚ Xen ΠΈΠ»ΠΈ KVM ΠΌΠΎΠ΄ΡƒΠ»ΠΎΡ‚.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ ΠΏΡ€Π²ΠΈΡ‡Π½ΠΎ бСшС создадСн ΠΎΠ΄ Ѐабрис Π‘Π΅Π»Π°Ρ€Π΄ Π·Π° Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ моТност Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΈΠ·Π²Ρ€ΡˆΠ½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π½Π° Linux ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°Π½ΠΈ Π·Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° 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

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€