ИздаванС Π½Π° Π΅ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€Π° QEMU 5.0

Π˜Π·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΎ ΠΎΡ‚ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° QEMU 5.0. ΠšΠ°Ρ‚ΠΎ Π΅ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ QEMU Π²ΠΈ позволява Π΄Π° стартиратС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π° Π·Π° Π΅Π΄Π½Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π½Π° систСма с напълно Ρ€Π°Π·Π»ΠΈΡ‡Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π° стартиратС ARM ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° x86-ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€. Π’ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° виртуализация Π² QEMU производитСлността Π½Π° изпълнСниС Π½Π° ΠΊΠΎΠ΄ Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π° срСда Π΅ Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ СстСствСната систСма ΠΏΠΎΡ€Π°Π΄ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎΡ‚ΠΎ изпълнСниС Π½Π° инструкции Π½Π° процСсора ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Xen Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€ ΠΈΠ»ΠΈ KVM ΠΌΠΎΠ΄ΡƒΠ».

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Π΅ създадСн ΠΎΡ‚ Fabrice Bellard, Π·Π° Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΠΌΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Linux, създадСни Π·Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° x86, Π΄Π° работят Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ x86 Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ. ΠŸΡ€Π΅Π· Π³ΠΎΠ΄ΠΈΠ½ΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Смулация Π·Π° 14 Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ, броят Π½Π° Π΅ΠΌΡƒΠ»ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ устройства Π΅ Π½Π°Π΄Ρ…Π²ΡŠΡ€Π»ΠΈΠ» 400. Π’ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°Ρ‚Π° Π·Π° вСрсия 5.0 са Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 2800 ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΎΡ‚ 232 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ.

ΠšΠ»ΡŽΡ‡ подобрСниядобавСно Π² QEMU 5.0:

  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° част ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма Π½Π° хост срСдата към ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π°Ρ‚Π° гост систСма virtiofsd. БистСмата Π·Π° гости ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π° дирСктория, ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π° Π·Π° СкспортиранС ΠΎΡ‚ страната Π½Π° хост систСмата, ΠΊΠΎΠ΅Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ опростява организацията Π½Π° сподСлСн Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π² систСмитС Π·Π° виртуализация. Π—Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми ΠΊΠ°Ρ‚ΠΎ NFS ΠΈ virtio-9P, virtiofs Π²ΠΈ позволява Π΄Π° постигнСтС производитСлност, Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ Π»ΠΎΠΊΠ°Π»Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма;
  • ΠŸΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ° миграция Π½Π° ΠΆΠΈΠ²ΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ външни процСси с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° QEMU D-Bus;
  • Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Π΅ΠΌΠΎΡΡ‚ Π±Π΅ΠΊΠ΅Π½Π΄ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π·Π° осигуряванС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° основната RAM Π½Π° систСмата Π·Π° гости. Π‘Π΅ΠΊΠ΅Π½Π΄ΡŠΡ‚ сС опрСдСля с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° опцията β€ž-machine memory-backendβ€œ;
  • Нов "компрСсиран" Ρ„ΠΈΠ»Ρ‚ΡŠΡ€, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° създаванС Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΈ копия Π½Π° компрСсирани изобраТСния;
  • ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žqemu-img measureβ€œ Π²Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ с LUKS изобраТСния, Π° опцията β€ž--target-is-zeroβ€œ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° към ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žqemu-img convertβ€œ, Π·Π° Π΄Π° сС пропуснС Π½ΡƒΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΡ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ СкспСримСнтална ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° процСса qemu-storage-daemon, осигуряващ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ QEMU Π±Π»ΠΎΠΊΠΎΠ²ΠΎ Π½ΠΈΠ²ΠΎ ΠΈ QMP ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ стартиранС Π½Π° Π±Π»ΠΎΠΊΠΎΠ²ΠΈ устройства ΠΈ вградСния NBD ΡΡŠΡ€Π²ΡŠΡ€, Π±Π΅Π· Π΄Π° сС Π½Π°Π»Π°Π³Π° Π΄Π° стартиратС пълна Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина;
  • Π•ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° ARM Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π΅ΠΌΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° процСсори Cortex-M7 ΠΈ осигурява ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° PC ΠΏΠ»Π°Ρ‚ΠΊΠΈ tacoma-bmc, Netduino Plus 2 ΠΈ Orangepi. Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° vTPM ΠΈ virtio-iommu устройства към 'virt' Π΅ΠΌΡƒΠ»ΠΈΡ€Π°Π½ΠΈ машини. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° хост систСми AArch32 Π·Π° стартиранС Π½Π° KVM срСди Π·Π° гости Π΅ ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»Π΅Π½Π°. Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Смулация Π½Π° слСднитС характСристики Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π°:
    • ARMv8.1: HEV, VMID16, PAN, PMU
    • ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3: RCPC, CCIDX
    • ARMv8.4: PMU, RCPC
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π° към Π΅ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€Π° Π½Π° HPPA Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΎΡ‚ΠΎ устройство HP Artist;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° инструкцията GINVT (Global Invalidation TLB) към Π΅ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€Π° Π½Π° MIPS Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π°;
  • Емулацията Π½Π° инструмСнти Π·Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΎ ускорСниС Π½Π° KVM Π·Π° стартиранС Π½Π° систСми Π·Π° гости Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° към Π΅ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€Π° Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° PowerPC Π·Π° машини "powernv"
    KVM с класичСски Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π° TCG ΠΊΠΎΠ΄ (Tiny Code Generator). Π—Π° Π΅ΠΌΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° постоянна ΠΏΠ°ΠΌΠ΅Ρ‚ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° NVDIMM, ΠΎΡ‚Ρ€Π°Π·Π΅Π½ΠΈ във Ρ„Π°ΠΉΠ»Π°. Π—Π° машини ΠΎΡ‚ "series" нСобходимостта ΠΎΡ‚ рСстартиранС Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚Π°, Π·Π° Π΄Π° сС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈΡ‚Π΅ Π·Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅ XIVE/XICS Π² Ρ€Π΅ΠΆΠΈΠΌ "ic-mode=dual";

  • Π•ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° RISC-V Π·Π° ΠΏΠ»Π°Ρ‚ΠΊΠΈΡ‚Π΅ β€žvirtβ€œ ΠΈ β€žsifive_uβ€œ осигурява ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° стандартни Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ Π½Π° Linux syscon Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Ρ…Ρ€Π°Π½Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈ рСстартиранСто. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Goldfish RTC Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π·Π° Π΄ΡŠΡΠΊΠ°Ρ‚Π° β€žvirtβ€œ. Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ СкспСримСнтално внСдряванС Π½Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π·Π° Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€;
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° AIS (ΠŸΠΎΡ‚ΠΈΡΠΊΠ°Π½Π΅ Π½Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½ΠΈΡΡ‚Π° Π½Π° Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°) Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° към Π΅ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€Π° Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° s390 ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌ KVM.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€