The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

21.12.2016 15:14  Выпуск эмулятора QEMU 2.8.0

Представлен релиз проекта 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;
  • В эмуляторе архитектуры 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.


  1. Главная ссылка к новости (http://lists.nongnu.org/archiv...)
  2. OpenNews: Выпуск эмулятора QEMU 2.7.0
  3. OpenNews: Проект QEMU Advent Calendar 2016 для быстрого знакомства с необычными ОС
  4. OpenNews: Продолжение разработки AQEMU, графической оболочки для QEMU и KVM
  5. OpenNews: Выпуск эмулятора QEMU 2.6.0
  6. OpenNews: QEMU/KVM и Xen подвержены уязвимости в коде эмуляции VGA
Лицензия: CC-BY
Тип: Программы
Ключевые слова: qemu, emulator
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 15:33, 21/12/2016 [ответить] [смотреть все]
  • +3 +/
    Молодцы! Дело нужное.
     
  • 1.2, commiethebeastie, 16:11, 21/12/2016 [ответить] [смотреть все]
  • –37 +/
    Я virt-manager юзаю, а qemu какой-то лайно неудобное.
     
     
  • 2.4, devpreview, 16:23, 21/12/2016 [^] [ответить] [смотреть все] [показать ветку]
  • +23 +/
    Ты кажись просто не знаешь, что на самом деле используешь.
     
  • 2.6, anonomouous, 16:29, 21/12/2016 [^] [ответить] [смотреть все] [показать ветку]
  • +5 +/
    Слои абстрации. virt-manager через libvirt запускает тот же qemu.
     
     
  • 3.7, fi, 16:35, 21/12/2016 [^] [ответить] [смотреть все]
  • –10 +/
    вот в этом и вопрос, точно тот или там своя ветка qemu?
     
     
  • 4.8, Мяут, 17:22, 21/12/2016 [^] [ответить] [смотреть все]  
  • +3 +/
    Ну учитывая, что некоторые компоненты QEMU есть в QEMU-KVM обвиусли , в Xen, и ... весь текст скрыт [показать]
     
  • 4.14, Аноним, 20:05, 21/12/2016 [^] [ответить] [смотреть все]  
  • +12 +/
    > вот в этом и вопрос, точно тот или там своя ветка qemu?

    1. «Виртуальная машина» выполняется на ЦП в «виртуализированном режиме». У Intel аппаратная реализация этого режима называется VT-x, у AMD - AMD-V, у других производителей - по-своему.
    2. Для всех ЦП, поддерживаемых Linux и поддерживающих виртуализацию, ядро предоставляет унифицированный API для доступа к аппаратной поддержке виртуализации - KVM.
    3.1. Очевидно, пользователю неудобно напрямую использовать псевдоустройство /dev/kvm для подачи ЦП команд на запуск и останов виртуальных машин.
    3.2. Очевидно, на практике виртуальные машины бесполезны без предоставления им некоторых виртуальных или реальных периферийных устройств.
    Проблемы 3.1 и 3.2 решают такие программы, как QEMU: они предоставляют пользователю удобный интерфейс для управления состоянием виртуальных машин, эмулируют виртуальные периферийные устройства, облегчают пользователю взаимодействие с ядром для «проброса» в виртуальную машину реальных периферийных устройств.
    4. Пользователь может располагать целым парком различных виртуальных машин, управление которыми хотелось бы, с одной стороны, упростить, с другой - автоматизировать. Эту задачу решают такие программы, как libvirtd (с использованием библиотеки libvirt): предоставляют пользователю единый удобный интерфейс для управления разнородными средствами виртуализации и контейнерной изоляции.
    5. Пользователь может располагать целым парком _серверов_ различных виртуальных машин, управление которыми хотелось бы, с одной стороны, упростить, с другой - автоматизировать (!). Эту задачу решают такие программы, как virt-manager и virsh: предоставляют пользователю единый удобный командный или графический интерфейс для управления виртуальными машинами, работающими на различных физических машинах; интерфейс для управления пулами дисковых хранилищ; интерфейс для изменения конфигурации машин, их добавления и удаления.

    Нет в virt-manager никакой «своей ветки qemu» и быть не может, это просто пользовательский интерфейс к libvirtd.

    И выполняет виртуальную машину не virt-manager, не libvirtd, не qemu и не KVM, а непосредственно ЦП.

    Так понятно?

     
  • 2.11, мимокрокоди, 19:07, 21/12/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    тролинг удался
     
     
  • 3.28, Аноним, 14:19, 22/12/2016 [^] [ответить] [смотреть все]  
  • +/
    > тролинг удался (нет), затролили тролля

    fix

     
     
  • 4.32, commiethebeastie, 19:52, 22/12/2016 [^] [ответить] [смотреть все]  
  • +/
    Вообще-то это по мотивам mpv и smplayer.
     
  • 1.10, Игорь, 17:36, 21/12/2016 [ответить] [смотреть все]  
  • +1 +/
    Я как всегда спрошу, а оно уже может написанное для SPARC64 запустить на x86_64?
     
     
  • 2.13, IB, 19:45, 21/12/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +4 +/
    Если вы запостили баг, то можете посмотреть его статус Ваш К О ... весь текст скрыт [показать] [показать ветку]
     
  • 1.15, Андрей, 22:21, 21/12/2016 [ответить] [смотреть все]  
  • +/
    > Добавлена поддержка платы STM32F2xx (Netduino 2) и улучшена поддержка платы Aspeed;

    А что-нибудь такое народное типа STM32F4 Discovery есть?

     
     
  • 2.17, doom, 23:46, 21/12/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Неа. Есть всякие форки типа этого http://gnuarmeclipse.github.io/qemu/
     
     
  • 3.18, Андрей, 00:07, 22/12/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Да, это гуглом я нашёл Интересно, каким макаром Netduino вдруг попал в mainline... весь текст скрыт [показать]
     
  • 3.20, Андрей, 00:20, 22/12/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    https lists gnu org archive html qemu-devel 2014-11 msg03692 html Крутой qemu ... весь текст скрыт [показать]
     
     
  • 4.21, doom, 00:32, 22/12/2016 [^] [ответить] [смотреть все]  
  • +/
    Впринципе, ему там всё правильно сказали Netduino я думаю попала, т к у stm32F... весь текст скрыт [показать]
     
     
  • 5.22, Андрей, 00:51, 22/12/2016 [^] [ответить] [смотреть все]  
  • +/
    Если у меня есть куча кода, который не использует явно фичи M4, но скомпилирован... весь текст скрыт [показать]
     
     
  • 6.25, doom, 11:35, 22/12/2016 [^] [ответить] [смотреть все]  
  • +/
    Ну так ему и заметили, что нет смысла пихать в апстрим кучу не полноценного кода... весь текст скрыт [показать]
     
     
  • 7.29, Андрей, 15:22, 22/12/2016 [^] [ответить] [смотреть все]  
  • +/
    Не, я о том ARM-коде А ему - о том, что в qemu не хотят кода-заглушек, который ... весь текст скрыт [показать]
     
  • 4.26, Аноним, 12:42, 22/12/2016 [^] [ответить] [смотреть все]  
  • +/
    А в чем интерес сферического cortex M3 в вакууме Чтобы лишний раз подтвердить ч... весь текст скрыт [показать]
     
     
  • 5.31, doom, 19:15, 22/12/2016 [^] [ответить] [смотреть все]  
  • +/
    Вцелом да, т к там где Cortex-M применяются всё сильно завязано на периферию Н... весь текст скрыт [показать]
     
  • 1.16, Аноним, 23:12, 21/12/2016 [ответить] [смотреть все]  
  • –1 +/
    Подскажите, это имеется ввиду, что рендеринг opengl будет выполняться на клиенте... весь текст скрыт [показать]
     
     
  • 2.23, Аноним, 00:56, 22/12/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Одной памяти не достаточно Надо идентичное состояние системы, включая регистры ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.24, Anonimus, 03:57, 22/12/2016 [^] [ответить] [смотреть все]  
  • +/
    Ок, а что потом делать со сбойным PVM, оно само починится?
     
     
  • 4.27, Аноним, 13:41, 22/12/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Выбросить, а железо, на котором работал PVM, отдать в сервис.
     
  • 1.19, Андрей, 00:13, 22/12/2016 [ответить] [смотреть все]  
  • –1 +/
    Кстати, недавно устанавливал Debian на флешку через Qemu то ли 2.6, то ли 2.7 и удивился, что OpenGL работает. Хотя я вообще ничего не настраивал (и без spice). А у меня ни какой не распоследний интел (sandy bridge) да и меса была то ли 10, то ли 11. Единственный глюк: внутри qemu не было vsync'а. И glxgears выдавал сотни кадров вместо 60.
     
  • 1.30, Аноним, 17:05, 22/12/2016 [ответить] [смотреть все]  
  • +/
    Штука в том, что когда две машины начинают вести себя по-разному, нет возможност... весь текст скрыт [показать]
     
  • 1.33, Аноним, 01:13, 23/12/2016 [ответить] [смотреть все]  
  • +/
    Без ускорения не нужно.
     
  • 1.34, Shell, 18:41, 23/12/2016 [ответить] [смотреть все]  
  • +/
    А когда сделают поную поддержку sparc64?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor TopList