QEMU 5.0 emulyatorining chiqarilishi

Tanishtirdi loyiha chiqarilishi QEMU 5.0. 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.0 versiyasini tayyorlashda 2800 ta dasturchi tomonidan 232 dan ortiq oʻzgartirishlar kiritildi.

Kalit yaxshilanishlarQEMU 5.0 da qo'shilgan:

  • Xost muhitining fayl tizimining bir qismini mehmon tizimiga yo'naltirish imkoniyati virtiofsd. Mehmon tizimi eksport uchun belgilangan katalogni xost tizimi tomoniga o'rnatishi mumkin, bu virtualizatsiya tizimlarida kataloglarga umumiy kirishni tashkil qilishni sezilarli darajada osonlashtiradi. NFS va virtio-9P kabi tarmoq fayl tizimlaridan foydalanishdan farqli o'laroq, virtiofs mahalliy fayl tizimiga yaqin ishlashga erishish imkonini beradi;
  • qo'llab-quvvatlash QEMU D-Bus yordamida tashqi jarayonlardan ma'lumotlarning jonli migratsiyasi;
  • Foydalanish imkoniyati xotira orqa qismlari mehmon tizimining asosiy RAM ishlashini ta'minlash. Backend “-machine memory-backend” opsiyasi yordamida belgilanadi;
  • Siqilgan tasvirning zaxira nusxalarini yaratish uchun ishlatilishi mumkin bo'lgan yangi "siqish" filtri;
  • Endi "qemu-img measure" buyrug'i LUKS tasvirlari bilan ishlashi mumkin va maqsadli tasvirni nolga o'tkazib yuborish uchun "qemu-img convert" buyrug'iga "--target-is-nero" opsiyasi qo'shildi;
  • QEMU bloki darajasiga va QMP buyruqlariga, shu jumladan ishlaydigan blok qurilmalari va o‘rnatilgan NBD serveriga to‘liq virtual mashinani ishga tushirmasdan kirishni ta’minlovchi qemu-storage-daemon jarayoni uchun qo‘shimcha eksperimental yordam;
  • ARM arxitektura emulyatori Cortex-M7 protsessorlarini taqlid qilish qobiliyatini qo'shdi va tacoma-bmc, Netduino Plus 2 va Orangepi kompyuter platalarini qo'llab-quvvatlaydi. "virt" taqlid qilingan mashinalarga vTPM va virtio-iommu qurilmalarini qo'llab-quvvatlash qo'shildi. KVM mehmon muhitini ishga tushirish uchun AArch32 xost tizimlaridan foydalanish imkoniyati eskirgan. Quyidagi arxitektura xususiyatlarini taqlid qilishni qo'llab-quvvatlash amalga oshirildi:
    • ARMv8.1: HEV, VMID16, PAN, PMU
    • ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3: RCPC, CCIDX
    • ARMv8.4: PMU, RCPC
  • HP Artist grafik qurilmasi yordamida HPPA arxitektura emulyatoriga grafik konsolni qo‘llab-quvvatlash qo‘shildi;
  • MIPS arxitektura emulyatoriga GINVT (Global Invalidation TLB) yo'riqnomasi qo'shildi;
  • Mehmon tizimlarini ishga tushirish uchun KVM apparat tezlashtirish vositalarining emulyatsiyasi "powernv" mashinalari uchun PowerPC arxitektura emulyatoriga qo'shildi.
    Klassik TCG kod generatoriga ega KVM (Tiny Code Generator). Doimiy xotiraga taqlid qilish uchun faylda aks ettirilgan NVDIMM-larni qo'llab-quvvatlash qo'shildi. “Pseries” mashinalari uchun “ic-mode=dual” rejimida XIVE/XICS uzilish kontrollerlarining ishlashini muvofiqlashtirish uchun qayta ishga tushirish zarurati olib tashlandi;

  • "Virt" va "sifive_u" platalari uchun RISC-V arxitektura emulyatori quvvat va qayta yuklashni boshqarish uchun standart Linux syscon drayverlarini qo'llab-quvvatlaydi. "Virt" taxtasi uchun Goldfish RTC qo'llab-quvvatlashi qo'shildi. Gipervizor kengaytmalarini eksperimental amalga oshirish qo'shildi;
  • KVM rejimida ishlaganda s390 arxitektura emulyatoriga AIS (Adapter uzilishini bostirish) yordami qo'shildi.

Manba: opennet.ru

a Izoh qo'shish