Выпуск эмулятора QEMU 2.6.0
После пяти месяцев разработки доступен релиз проекта QEMU 2.6. В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы, на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к нативной системе за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM.
Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. При подготовке версии 2.6 внесено около 2400 изменений от 186 разработчиков.
Ключевые улучшения, добавленные в QEMU 2.6:
- Поддержка эмуляции Raspberry Pi 2 (тип системы raspi2);
- SDL2 и SPICE теперь поддерживают OpenGL и virgl (виртуальный GPU). При включении OpenGL в качестве транспорта для SPICE пока поддерживаются только Unix-сокеты. Данная возможность позволяет реализовать работу без вывода на экран (headless), при которой контент выводится через клиент SPICE;
- Поддержка управляющего интерфейса IPMI, реализуемого через эмулируемый или внешний контроллер BMC;
- Официальная поддержка live-миграции в режиме Postcopy, позволяющем выполнить миграцию гостевых систем, в которых наблюдается большая интенсивность изменений страниц памяти, сравнимая с пропускной способностью канала переноса данных на другую систему. При использовании режима Postcopy, виртуальное окружение запускается почти сразу, а все недостающие данные подгружаются при обращении к не скопированным страницам памяти, определяемым при помощи механизма userfaultfd (user space page fault);
- Поддержка технологии multi-root (MR) для устройств PCIe, предоставляющей средства виртуализации ввода/вывода и совместного доступа из разных гостевых окружений. Возможность доступна при использовании драйвера pxb-pcie;
- Увеличена производительность virtio, благодаря оптимизации доступа к vring (базовый набор данных virtio);
- Добавлена возможность использования TLS для символьных устройств, (например, isa-serial) доступных через TCP-сокет;
- Поддержка проброса VFIO для сетевых адаптеров AMD XGBE 10Gb;
- При урезании пропускной способности блочных устройств теперь можно задавать отдельное ограничение на интенсивность операций за определённый интервал времени;
- Добавлена поддержка LUKSv1, TLS и аутентификации при доступе к образам через протоколы удалённого доступа к дискам (iSCSI, NBD, RBD);
- По умолчанию задействован новый бэкенд трассировки, предоставляющий интерфейс командной строки и систему масок для выборочного отслеживания определённых операций;
- В системе эмуляции устройств на базе архитектуры ARM с 30 до 255 Гб увеличен лимит на размер ОЗУ, добавлена возможность отправки сигнала о завершении работы (powerdown);
- Добавлена новая эмулируемая система palmetto-bmc с реализацией SoC ASPEED AST2400;
- В эмуляторе архитектуры MIPS добавлена поддержка инструкций SIMD и FPU для гостевых систем KVM;
- В коде эмуляции PowerPC улучшена миграция, добавлена поддержка последовательного порта для систем g3beige и mac99, добавлена поддержка заглушек GDB для набора инструкций VSX, в системе pseries по умолчанию задействован XHCI USB;
- В эмуляторе s390 добавлена поддержка горячего подключения CPU, внесены улучшения в PCI/virtio-scsi;
- В эмуляторе Tricore добавлена поддержка инструкций FPU и управления контекстом;
- В KVM и в эмуляторе x86 на базе классического генератора кода TCG (Tiny Code Generator) добавлена поддержка механизма защиты PKU, доступного в новых процессорах Intel Skylake;
- В эмуляторе x86-системы Q35 добавлена поддержка старых гостевых систем Windows XP/2003 и возможность выхода из спящего режима (S3);
- При сборке в Windows теперь обязательно наличие пакета Mingw-w64 (возможна кросс-сборка в Cygwin или Linux). MinGW больше не поддерживается.
© OpenNet