Выпуск эмулятора QEMU 5.0

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

Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. При подготовке версии 5.0 внесено более 2800 изменений от 232 разработчиков.

Ключевые улучшения, добавленные в QEMU 5.0:

  • Возможность проброса части файловой системы хост-окружения в гостевую систему при помощи virtiofsd. Гостевая система может примонтировать каталог, помеченный для экспорта на стороне хост-системы, что существенно упрощает организацию совместного доступа к каталогам в системах виртуализации. В отличие от применения сетевых ФС, таких как NFS и virtio-9P, virtiofs позволяет добиться производительности, близкой к локальной файловой системе;
  • Поддержка live-миграции данных внешних процессов, использующих шину QEMU D-Bus;
  • Возможность использования бэкендов памяти для обеспечения работы основной оперативной памяти гостевой системы. Бэкенд задаётся при помощи опции »-machine memory-backend»;
  • Новый фильтр «compress», который можно использовать для создания сжатых резервных копий образов;
  • Команда «qemu-img measure» теперь может работать с образами LUKS, а в команду «qemu-img convert» добавлена опция »--target-is-zero» для пропуска обнуления целевого образа;
  • Добавлена экспериментальная поддержка процесса qemu-storage-daemon, предоставляющего доступ к блочному уровню QEMU и командам QMP, включая выполнение работ с блочными устройствами и встроенный сервер NBD, без необходимости запуска полной виртуальной машины;
  • В эмулятор архитектуры ARM добавлена возможность эмуляции CPU Cortex-M7 и обеспечена поддержка плат tacoma-bmc, Netduino Plus 2 и Orangepi PC. В эмулируемые машины 'virt' добавлена поддержка устройств vTPM и virtio-iommu. Объявлена устаревшей возможность использования хост-систем AArch32 для запуска гостевых окружений KVM. Реализована поддержка эмуляции следующих возможностей архитектур:
    • ARMv8.1: VHE, VMID16, PAN, PMU
    • ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3: RCPC, CCIDX
    • ARMv8.4: PMU, RCPC
  • В эмулятор архитектуры HPPA добавлена поддержка графической консоли с использованием графического устройства HP Artist;
  • В эмулятор архитектуры MIPS добавлена поддержка инструкции GINVT (Global Invalidation TLB);
  • В эмуляторе архитектуры PowerPC для машин 'powernv' добавлена эмуляция средств аппаратного ускорения KVM для запуска гостевых систем KVM c классическим генератором кода TCG (Tiny Code Generator). Для эмуляции постоянной памяти добавлена поддержка отражённых в файл NVDIMM. Для машин 'pseries' убрана необходимость перезагрузки для согласования работы контроллеров прерываний XIVE/XICS в режиме «ic-mode=dual»;
  • В эмуляторе архитектуры RISC-V для плат 'virt' и 'sifive_u' реализована поддержка типовых драйверов syscon в Linux для управления питанием и перезагрузкой. Для платы 'virt' добавлена поддержка Goldfish RTC. Добавлена экспериментальная реализация расширений гипервизора;
  • В эмулятор архитектуры s390 добавлена поддержка AIS (Adapter Interrupt Suppression) при работе в режиме KVM.



Источник: http://www.opennet.ru/opennews/art.shtml? num=52839

© OpenNet