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

Доступен релиз QEMU 2.1. В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы, на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к нативной системе за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM. Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. Всего в разработке всех выпусков QEMU приняло участие более 400 авторов, которые подготовили около 27 тысяч изменений. При подготовке версии 2.1 внесено около 2500 изменений от 180 разработчиков.

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

Реализована возможность горячего подключения памяти для работающих гостевых систем на базе архитектуры x86; Добавлена полноценная поддержка проброса устройств с интерфейсом USB3 (включая поддержку потоков). Обеспечена возможность прикрепления устройства USB3 к контроллеру EHCI (USB 2.0) в гостевой системе; Обеспечена возможность одновременной работы на одном ПК нескольких пользователей (Multi-seat, можно подключить несколько USB-клавиатур и мышей и привязать их к определённой видеокарте). Поддержка Multi-seat также обеспечена в пользовательских интерфейсах на основе GTK+ и SDL 2.0; В подсистему USB добавлена возможность организации совместного доступа к файлам (в режиме только для чтение) через эмуляцию MTP; Многопоточная реализация virtio-blk теперь поддерживает почти все возможности блочного уровня, включая работу с образами, POSIX AIO (aio=threads), урезание I/O, средства сбора статистики и восстановления после ошибок (rerror/werror). Из недостающих функций отмечается поддержка длительно выполнимых работ, таких как streaming, зеркалирование, удаление снапшотов, резервное копирование; Поддержка прикрепления памяти NUMA-узлов хост системы к гостевым системам на базе архитектуры x86; Базовая поддержка операций hot-plug и hot-unplug для гостевых систем на базе архитектуры x86 Q35; В дополнение к виртуализации на основе KVM для архитектуры AArch64 обеспечена поддержка эмуляции на базе классического генератора кода TCG (Tiny Code Generator); Добавлена поддержка доступных в AArch64 криптографических инструкций SHA и Crypto; Улучшена эмуляция Allwinner SoC; В VFIO добавлена поддержка сетевых адаптеров на базе чипа RTL8168; Добавлены дополнительные варианты сетевых адаптеров e1000 (e1000–82540em, e1000–82544gc, e1000–82545em), которые могут использоваться при возникновении проблем с предлагаемым по умолчанию e1000; Добавлена модель CPU Broadwell; Для гостевых систем pSeries/PowerKVM обеспечена возможность проброса устройств с использованием виртуализированных драйверов VFIO, работающих в пространстве пользователя; Для гостевых систем s390x в virtio-ccw добавлена поддержка миграции виртуальных окружений; Для гостевых систем SPARC улучшена эмуляция IOMMU; Новый бэкенд vhost-user для опций »-net» и »-netdev» позволяет разрешить соединения с внешним процессом на той же машине; Новый транспорт «l2tpv3», похожий на «socket», но использующий протокол Ethernet over L2TPv3; В VNC-сервере обеспечена возможность использования разрешения, отличного от разрешения экрана гостевой системы; Устранены проблемы с миграцией с QEMU 1.7 окружений, использующих проброс PCI или некоторые виды CPU. Добавлен код для выявления возможных проблем при миграции.

© OpenNet