Выпуск эмулятора QEMU 2.7.0
После четырёх месяцев разработки состоялся релиз проекта QEMU 2.7. В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы, на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к нативной системе за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM.
Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. При подготовке версии 2.7 внесено более2200 изменений от 189 разработчиков.
Ключевые улучшения, добавленные в QEMU 2.7:
- Для устройств virtio-blk добавлена поддержка работы с привлечением нескольких очередей (multi-queue);
- Для устройств virtio-net/vhost-net добавлена поддержка поллинга, который позволяет снизить нагрузку за счёт периодического опроса состояния вместо генерации прерываний;
- В устройстве virtio-gpu (виртуальный GPU Virgil3D) для 2D-графики добавлена поддержка live-миграции;
- Поддержка паравиртуализированных USB-устройств Xen;
- В usb-bot и usb-uas добавлена поддержка горячего подключения USB-устройств;
- Поддержка проброса VFIO для интегрированных графических адаптеров Intel;
- Новые интерфейсы для управления горячим подключением/отключением CPU;
- Проведена оптимизация классического генератора кода TCG (Tiny Code Generator), что отразилось увеличением производительности эмуляции до 20%;
- При эмуляции в пространстве пользователя добавлена поддержка DHCPv6, RDNSS, DNS6 и адресов Link-Local DNS;
- Поддержка сборки кросс-компилируемых doсker-образов для эмуляции в пространстве пользователя;
- В эмулятор архитектуры ARM добавлена поддержка NUMA и контроллера прерываний GICv3. Добавлена новая эмулируемая система xlnx-zcu102 с реализацией платы Xilinx Zynq ZCU102. В KVM на хост-системах AArch64 добавлена поддержка плат Xilinx Zynq;
- В эмулятор архитектуры MIPS добавлена начальная поддержка контроллера прерываний GIC;
- В эмулятор архитектуры PowerPC добавлена возможность загрузки MacOS 9.1+ на эмулируемой системе mac99. В эмулятор pseries добавлена поддержка горячего подключения CPU;
- В эмулятор x86 добавлена поддержка горячего отключения CPU через новый управляющий интерфейс device_add/device_del. В эмулируемой системе q35 добавлена поддержка IOMMU;
- Добавлено новое устройства e1000e для эмуляции сетевых адаптеров Intel 82574;
- Добавлена опция »-machine graphics=on|off» для отключения графики в виртуальной машине по аналогии с опцией »-nographic», но без отключения экрана (»-display none»).
© OpenNet