Увидел свет эмулятор QEMU 1.0
В качестве эмулятора QEMU позволяет запустить программу собранную для одной аппаратной платформы на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU достигается производительность выполнения кода в изолированном окружении близкая к нативной системе, за счет прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM.
Ключевые улучшения, появившиеся в QEMU 1.0:
- Реализация интерпретатора кода TCI (Tiny Code Interpreter), позволяющего запустить QEMU на архитектурах для которых не генерируется нативный код. Иными словами, TCI даёт возможность выполнять QEMU на любой 32- и 64-разрядной хост-системе, в то время как без поддержки TCI классический генератор кода TCG может обеспечить работу только на хост-системах x86, arm, mips, ppc, s390 и sparc. TCI не генерирует нативный код, а обеспечивает трансляцию фрагментов кода (базовых блоков) из кода для целевой платформы в промежуточное представление (байткод), которое не зависит от архитектуры хост-системы и выполняется путем интерпретации. Ценой универсальности является скорость, поэтому для поддерживаемых хост-систем рекомендуется использовать классический генератор кода TCG;
- Новое блочное устройство scsi-block, которое можно использовать в том числе и для проброса реальных SCSI-устройств в виртуальное окружение без изменения имени устройства (например, можно использовать в гостевой системе имена /dev/sda или /dev/sr0, вместо /dev/sgN). Новый драйвер позволяет добиться более высокой эффективности при работе с устройствами за счёт отсутствия необходимости в использовании дополнительной памяти при передаче больших объемов данных в гостевой системе.
Параллельно ведётся разработка нового стека организации работы с устройствами хранения virtio-scsi, который планируется использовать вместо virtio-blk и работа над которым ещё не завершена. Необходимость в создании virtio-scsi обусловлена тем, что virtio-blk лишён некоторых возможностей, реализация которых затруднена из-за необходимости изменения спецификаций и нарушения совместимости. Кроме того в virtio-blk имеется ограничение в одно PCI-устройство на диск, что ограничивает масштабируемость. Virtio-scsi сохранит эффективную архитектуру и производительность virtio-blk, дополнив данную систему новыми возможностями, такими как одновременное использование нескольких целевых устройств (qemu и lio) и возможность привязки к одному PCI-устройству тысяч дисков, которые внутри виртуального окружения не будут ничем отличаться от реальных SCSI-устройств;
- Поддержка Live-миграции, используя файлы с образами виртуальных машин в таких форматах как QCOW2, размещенные на общем хранилище;
- Новый внутренний API для управления памятью, основанный на использовании новой техники моделирования памяти, которая более точно соответствует реализации памяти в реальных компьютерах. Для мониторинга иерархии используемых в гостевой системе регионов памяти можно использовать новую команду "info mtree". В настоящее время новый API базируется на старом API управления памятью, что накладывает ряд ограничений по реализации дополнительных возможностей, но уже позволяет разработчикам начать миграцию;
- Поддержка эмуляции процессоров семейства Tensilica Xtensa, предназначенного для использования во встраиваемых системах. В настоящее время степень поддержки Tensilica Xtensa позволяет запустить Linux на платах sim (Tensilica ISS)) и LX60/LX110/LX200. Из процессорных ядер поддерживаются DC232b и FSF;
- В QEMU теперь используется отдельная нить для выполнения виртуального CPU (VCPU). Данная возможность была реализована в ветке qemu-kvm и являлась одним из основных отличий qemu-kvm от основной кодовой базы QEMU;
- Для всех форматов образов виртуальных машин добавлена поддержка асинхронного выполнения операций;
- Поддержка сбора статистики по задержкам ввода/вывода (I/O latency). Посмотреть статистику можно через команду мониторинга "info blockstats";
- Значительно увеличена точность эмуляции SCSI. SCSI-устройства могут быть адресованы по channel/target/LUN. Эмулируемый SCSI CD-ROM теперь поддерживает DVD-образы и информирование о смене состояния носителя;
- В SLIRP добавлена поддержка ARP-ответов и ARP-запросов со стороны гостевой системы;
- В VDI добавлена поддержка отброшенных блоков (discarded blocks) в образах с динамическим изменением размера;
- Добавлена поддержка инструкций ARM-процессоров Cortex-A15 в режиме linux-user (через "-cpu any"). Добавлена поддержка звука для ARM-плат vexpress-a9, versatileab, versatilepb и realview-*.
Источник: http://www.opennet.ru/opennews/art.shtml?num=32448
|
0 | Tweet | Нравится |
|