QEMU 5.0 эмуляторыг гаргасан

Оруулсан төслийн хувилбар QEMU 5.0. Эмуляторын хувьд QEMU нь нэг техник хангамжийн платформд зориулж боловсруулсан програмыг огт өөр архитектуртай систем дээр ажиллуулах боломжийг олгодог, жишээлбэл, x86-тэй нийцтэй компьютер дээр ARM програмыг ажиллуулах. QEMU дахь виртуалчлалын горимд тусгаарлагдсан орчинд код гүйцэтгэх гүйцэтгэл нь CPU дээрх зааврыг шууд гүйцэтгэж, Xen hypervisor эсвэл KVM модулийг ашигласнаар эх системтэй ойролцоо байдаг.

Уг төслийг Fabrice Bellard анх 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 хэмжүүр" команд нь одоо LUKS зургуудтай ажиллах боломжтой бөгөөд зорилтот дүрсийг тэглэхийг алгасахын тулд "--target-is-zero" сонголтыг "qemu-img convert" команд дээр нэмсэн;
  • qemu-storage-daemon процессын туршилтын дэмжлэгийг нэмсэн нь бүрэн виртуал машин ажиллуулахгүйгээр QEMU блокийн түвшин болон QMP командууд, түүний дотор ажиллаж байгаа блок төхөөрөмжүүд болон суурилагдсан NBD сервер зэрэгт нэвтрэх боломжийг олгодог;
  • ARM архитектурын эмулятор нь Cortex-M7 CPU-г дуурайх чадварыг нэмсэн бөгөөд tacoma-bmc, Netduino Plus 2 болон Orangepi PC хавтангуудад дэмжлэг үзүүлдэг. 'Virt' дууриагдсан машинуудад vTPM болон virtio-iommu төхөөрөмжүүдийн дэмжлэгийг нэмсэн. KVM зочны орчинг ажиллуулахын тулд AArch32 хост системийг ашиглах боломж хуучирсан. Дараах архитектурын функцуудыг эмуляци хийх дэмжлэгийг хэрэгжүүлсэн:
    • ARMv8.1: HEV, VMID16, PAN, PMU
    • ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3: RCPC, CCIDX
    • ARMv8.4: PMU, RCPC
  • HP Artist график төхөөрөмжийг ашиглан HPPA архитектурын эмулятор дээр график консолын дэмжлэгийг нэмсэн;
  • MIPS архитектурын эмулятор дээр GINVT (Global Invalidation TLB) зааврын дэмжлэгийг нэмсэн;
  • "Powernv" машинуудад зориулсан PowerPC архитектурын эмулятор дээр зочны системийг ажиллуулахад зориулсан KVM техник хангамжийн хурдатгалын хэрэгслийг эмуляци нэмсэн.
    Сонгодог TCG код үүсгэгч (Tiny Code Generator) бүхий KVM. Тогтвортой санах ойг дуурайхын тулд файлд тусгагдсан NVDIMM-ийн дэмжлэгийг нэмсэн. "Pseries" машинуудын хувьд XIVE/XICS тасалдлын хянагчуудын ажиллагааг "ic-mode=dual" горимд зохицуулахын тулд дахин ачаалах хэрэгцээ арилсан;

  • 'virt' болон 'sifive_u' самбарт зориулсан RISC-V архитектурын эмулятор нь тэжээл болон дахин ачаалах удирдлагын стандарт Линукс системийн драйверуудад дэмжлэг үзүүлдэг. "Virt" самбарт Goldfish RTC дэмжлэг нэмэгдсэн. Гипервизорын өргөтгөлийн туршилтын хэрэгжилт нэмэгдсэн;
  • KVM горимд ажиллах үед s390 архитектурын эмулятор дээр AIS (adapter Interrupt Suppression) дэмжлэг нэмэгдсэн.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх