Выпуск эмулятора QEMU 2.8.0
21 декабря 2016 года
Представлен релиз проекта QEMU 2.8. В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы, на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к нативной системе за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM.
Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. При подготовке версии 2.8 внесено более 1900 изменений от 201 разработчика.
Ключевые улучшения, добавленные в QEMU 2.8:
- Поддержка создания отказоустойчивых гостевых систем на базе технологии COLO (COarse-grained LOck-stepping), позволяющей в случае сбоя оборудования переключить выполнение виртуальной машины на другой хост без остановки работы. Суть технолгии в том, что на двух хостах запускаются две идентичные копии виртуальной машины, которые получают и выполняют все внешние запросы, обрабатывают сетевые пакеты, но клиенту выдаются ответы от первой, первичной, виртуальной машины (PVM), а вторая, запасная, виртуальная машина (SVM) работает на холостом ходу. Если оборудование PVM даёт сбой, то пользователь переключается на SVM, которая находится в точно таком же состоянии, как и PVM;
- Новое устройство vhost-vsock, предоставляющее средства для быстрого сетевого взаимодействия приложений гостевых систем и хостов при помощи сокетов с адресацией AF_VSOCK, работающих поверх virtio. В отличие от virtio-serial, virtio-vsock позволяет использовать штатный POSIX Sockets API для взаимодействия между приложениями на стороне гостевой системы и хоста, что позволяет легко адаптировать для такого взаимодействия обычные сетевые программы и реализовать взаимодействие нескольких клиентских программ с одним серверным приложением;
- Новое устройство virtio-crypto с реализацией виртуального ускорителя криптографических функций. Выполняемые через virtio-crypto запросы на шифрование и расшифровку помещаются в очередь и обрабатываются реальным аппаратным криптоакселератором. Предоставляются следующие криптографические сервисы: CIPHER, MAC, HASH, AEAD;
- Начальная поддержка подключения обработчиков сбоев в гостевых системах, позволяющих автоматически решить некоторые проблемы, без аварийного завершения гостевой системы с выводом ошибки;
- Поддержка использования сжатия при создании live-бэкапов;
- В реализацию протокола SPICE добавлена полноценная поддержка рендеринга с использованием OpenGL при указании "gl=on";
- Добавлена поддержка ACPI для извлекаемых (hotplug) устройств с интерфейсом NVDIMM;
- В эмулятор архитектуры ARM добавлена реализация типа эмулируемых систем 'virt' c поддержкой Interrupt Translation Services (ITS) через ACPI. Добавлена поддержка платы STM32F2xx (Netduino 2) и улучшена поддержка платы Aspeed;
- В эмуляторе архитектуры MIPS добавлена поддержка процессоров 24KEc (Архивная копия от 20 октября 2019 на Wayback Machine);
- В эмуляторе архитектуры PPC добавлена поддержка процессоров POWER9 и платформы powernv. Для платформы pseries добавлена возможность использования в гостевом окружении более 1 Тб памяти и поддержка горячего извлечения/добавления памяти;
- В эмуляторе x86 добавлена поддержка некоторых новых возможностей CPUID, связанных с набором инструкций AVX-512. В устройстве intel_iommu (эмулируемый IOMMUs) появилась поддержка расширенного режима прерываний (Extended Interrupt Mode). Для эмулируемой системы q35 до 288 увеличено максимальное число CPU;
- Для Xen добавлена поддержка операции unplug для дисков SCSI и устройств, совместимых с xenlinux;
- Добавлено универсальное псевдоустройство loader(недоступная ссылка), позволяющее во время запуска загрузить несколько образов или параметров в память;
- В утилиту qemu-img добавлена новая команда "dd". При манипуляции с raw-образами добавлены опции "offset" и "size", позволяющие получить доступ к определённой части файла или устройства;
- Прекращена поддержка блочного уровня "tftp://", так как он уже очень давно неработоспособен и не может нормально обрабатывать файлы больше 256KB.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.