QEMU 5.1 emulyatorining chiqarilishi

Tanishtirdi loyiha chiqarilishi QEMU 5.1. Emulator sifatida QEMU butunlay boshqa arxitekturaga ega tizimda bitta apparat platformasi uchun tuzilgan dasturni ishga tushirishga imkon beradi, masalan, x86-ga mos keluvchi kompyuterda ARM ilovasini ishga tushiradi. QEMU-da virtualizatsiya rejimida, protsessorda ko'rsatmalarning to'g'ridan-to'g'ri bajarilishi va Xen gipervisor yoki KVM modulidan foydalanish tufayli izolyatsiya qilingan muhitda kodning bajarilishi mahalliy tizimga yaqin.

Loyiha dastlab Fabrice Bellard tomonidan x86 platformasi uchun tuzilgan Linux bajariladigan fayllarni x86 bo'lmagan arxitekturalarda ishga tushirish qobiliyatini ta'minlash uchun yaratilgan. Rivojlanish yillari davomida 14 ta apparat arxitekturasi uchun toΚ»liq emulyatsiyani qoΚ»llab-quvvatlash qoΚ»shildi, emulyatsiya qilingan apparat qurilmalari soni 400 dan oshdi. 5.1 versiyasini tayyorlashda 2500 ta dasturchi tomonidan 235 dan ortiq oΚ»zgartirishlar kiritildi.

Kalit yaxshilanishlarQEMU 5.1 da qo'shilgan:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° эмуляции CPU Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ AVR. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ»Π°Ρ‚ Arduino Duemilanove (ATmega168), Arduino Mega 2560 (ATmega2560),
    Arduino Mega (ATmega1280) ΠΈ Arduino UNO (ATmega328P).

  • Π’ эмулятор Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARM Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ горячСго ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ памяти (hot-unplug), Π° Ρ‚Π°ΠΊΠΆΠ΅ горячСго ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ памяти nvdimm для гостСвых систСм с ACPI. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ARMv8.2 TTS2UXN ΠΈ ARMv8.5 MemTag. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ»Π°Ρ‚Ρ‹ sonorapass-bmc.
  • Π’ эмулятор Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ MIPS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° CPU Loongson 3A CPUs (R1 ΠΈ R4). ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ эмуляции инструкций FPU ΠΈ MSA.
  • Π’ эмулятор Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ RISC-V Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° CPU SiFive E34 ΠΈ Ibex. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ»Π°Ρ‚ HiFive1 revB ΠΈ OpenTitan. Для машин Spike прСдоставлСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ CPU.
  • Π’ эмуляторС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ PowerPC появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° восстановлСния ошибок Π² гостСвых систСмах ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ FWNMI.
  • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ s390 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° KVM для Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (Ρ€Π΅ΠΆΠΈΠΌ бСзопасного выполнСния).
  • Π’ эмуляторС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86 сокращСны Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π΅Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… гостСвых систСм с Windows, Ρ‡Π΅Ρ€Π΅Π· прСдоставлСниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ эмулируСмых устройств ACPI WAET (Windows ACPI Emulated Device Table). Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ускорСния HVF macOS uchun.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройств появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… устройств хранСния с логичСскими ΠΈ физичСскими Π±Π»ΠΎΠΊΠ°ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 2MB.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π² QEMU ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Ρ‡Π΅Ρ€Π΅Π· keyring ядра Linux ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Β«secret-keyringΒ».
  • Для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° qcow2 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° сТатия zstd.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ qemu-img Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая ΠΊΠΎΠΌΠ°Π½Π΄Π° β€˜bitmap’ для манипуляции постоянными Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ Π² Ρ„Π°ΠΉΠ»Π°Ρ… qcow2. Π’ qemu-img Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ управлСния ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ LUKS (keyslot) ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности для ΠΊΠΎΠΌΠ°Π½Π΄ Β«mapΒ» (β€”start-offset, β€”max-length) ΠΈ Β«convertΒ» (β€”bitmaps), Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Β«measureΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π²Ρ‹Π²ΠΎΠ΄ свСдСний ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ постоянных Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚ Π² Ρ„Π°ΠΉΠ»Π°Ρ… qcow2.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ NVMe появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° постоянных областСй памяти (Persistent Memory Region), ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠΈΡ…ΡΡ Π² спСцификации NVMe 1.4.
  • Π’ virtio для гостСвых систСм c классичСским Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠ΄Π° TCG (Tiny Code Generator) Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования процСссов vhost-user, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ virtiofsd. Π’ vhost-user Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 8 слотов ΠžΠ—Π£.

Manba: opennet.ru

a Izoh qo'shish