The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Выпуск эмулятора QEMU 2.8.0 "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск эмулятора QEMU 2.8.0 "  +/
Сообщение от opennews (??) on 21-Дек-16, 15:33 
Представлен (http://lists.nongnu.org/archive/html/qemu-devel/2016-12/msg0...) релиз проекта QEMU 2.8 (http://wiki.qemu.org/Download). В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы, на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к нативной системе за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM.


Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. При подготовке версии 2.8 внесено более 1900 изменений от 201 разработчика.

Ключевые улучшения (http://wiki.qemu.org/ChangeLog/2.8), добавленные в QEMU 2.8:


-  Поддержка создания отказоустойчивых гостевых систем на базе технологии COLO (http://wiki.qemu.org/Features/COLO) (COarse-grained LOck-stepping), позволяющей в случае сбоя оборудования переключить выполнение виртуальной машины на другой хост без остановки работы. Суть технолгии в том, что на двух хостах запускаются две идентичные копии виртуальной машины, которые получают и выполняют все внешние запросы, обрабатывают сетевые пакеты, но клиенту выдаются ответы от первой, первичной, виртуальной машины (PVM), а вторая, запасная, виртуальная машина (SVM) работает на холостом ходу. Если оборудование PVM даёт сбой, то пользователь переключается на SVM, которая находится в точно таком же состоянии, как и PVM;

-  Новое устройство vhost-vsock (http://wiki.qemu.org/Features/VirtioVsock), предоставляющее средства для быстрого сетевого взаимодействия приложений гостевых систем и хостов при помощи сокетов с адресацией AF_VSOCK, работающих поверх virtio. В отличие от virtio-serial, virtio-vsock позволяет использовать штатный POSIX Sockets API  для взаимодействия между приложениями на стороне гостевой системы и хоста, что позволяет легко адаптировать для такого взаимодействия обычные сетевые программы и реализовать взаимодействие нескольких клиентских программ с одним серверным приложением;

* Новое устройство virtio-crypto (http://wiki.qemu.org/Features/VirtioCrypto) с реализацией виртуального ускорителя криптографических функций. Выполняемые через virtio-crypto запросы на шифрование и расшифровку помещаются в очередь и обрабатываются реальным аппаратным криптоакселератором. Предоставляются следующие криптографические сервисы: CIPHER, MAC, HASH, AEAD;

-  Начальная поддержка подключения обработчиков сбоев в гостевых системах, позволяющих автоматически решить некоторые проблемы, без аварийного завершения гостевой системы с выводом ошибки;

-  Поддержка использования сжатия при создании live-бэкапов;

-  Улучшена отрисовка на экране при использовании SPICE GUI в режиме OpenGL;

-  Добавлена поддержка ACPI для извлекаемых (hotplug) устройств с интерфейсом NVDIMM;

-  В эмулятор архитектуры ARM добавлена поддержка типа эмулируемых систем 'virt' c поддержкой Interrupt Translation Services (ITS) через ACPI. Добавлена поддержка платы STM32F2xx (Netduino 2) и улучшена поддержка платы Aspeed;

-  В эмуляторе архитектуры MIPS добавлена поддержка процессоров 24KEc (https://wikidevi.com/wiki/MIPS_24KEc);
-  В эмуляторе архитектуры PPC добавлена поддержка процессоров POWER9 и платформы  powernv. Для платформы pseries добавлена возможность использования в гостевом окружении более 1 Тб памяти  и поддержка горячего извлечения/добавления памяти;
-  В эмуляторе x86  появилась поддержка расширенного режима прерываний (Extended Interrupt Mode) в эмулированном IOMMUs. Для  эмулируемой системы q35 до 288 увеличено максимальное число CPU;

-  Для Xen добавлена поддержка операции unplug для дисков SCSI и устройств, совместимых с xenlinux.

URL: http://lists.nongnu.org/archive/html/qemu-devel/2016-12/msg0...
Новость: http://www.opennet.ru/opennews/art.shtml?num=45736

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Выпуск эмулятора QEMU 2.8.0 "  +3 +/
Сообщение от Аноним (??) on 21-Дек-16, 15:33 
Молодцы! Дело нужное.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Выпуск эмулятора QEMU 2.8.0 "  –37 +/
Сообщение от commiethebeastie (ok) on 21-Дек-16, 16:11 
Я virt-manager юзаю, а qemu какой-то лайно неудобное.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Выпуск эмулятора QEMU 2.8.0 "  +23 +/
Сообщение от devpreview (ok) on 21-Дек-16, 16:23 
Ты кажись просто не знаешь, что на самом деле используешь.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Выпуск эмулятора QEMU 2.8.0 "  +5 +/
Сообщение от anonomouous email on 21-Дек-16, 16:29 
Слои абстрации. virt-manager через libvirt запускает тот же qemu.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

7. "Выпуск эмулятора QEMU 2.8.0 "  –10 +/
Сообщение от fi (ok) on 21-Дек-16, 16:35 
вот в этом и вопрос, точно тот или там своя ветка qemu?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Выпуск эмулятора QEMU 2.8.0 "  +3 +/
Сообщение от Мяут (ok) on 21-Дек-16, 17:22 
Ну учитывая, что некоторые компоненты QEMU есть в QEMU-KVM (обвиусли), в Xen, и даже в VirtualBox, чтобы не использовать QEMU, это надо на оффтопики переходить ;)
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

14. "Выпуск эмулятора QEMU 2.8.0 "  +12 +/
Сообщение от Аноним (??) on 21-Дек-16, 20:05 
> вот в этом и вопрос, точно тот или там своя ветка 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, а непосредственно ЦП.

Так понятно?

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

11. "Выпуск эмулятора QEMU 2.8.0 "  +/
Сообщение от мимокрокоди on 21-Дек-16, 19:07 
тролинг удался
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

28. "Выпуск эмулятора QEMU 2.8.0 "  +/
Сообщение от Аноним (??) on 22-Дек-16, 14:19 
> тролинг удался (нет), затролили тролля

fix

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

32. "Выпуск эмулятора QEMU 2.8.0 "  +/
Сообщение от commiethebeastie (ok) on 22-Дек-16, 19:52 
Вообще-то это по мотивам mpv и smplayer.
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

10. "Выпуск эмулятора QEMU 2.8.0 "  +1 +/
Сообщение от Игорь email(??) on 21-Дек-16, 17:36 
Я как всегда спрошу, а оно уже может написанное для SPARC64 запустить на x86_64?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Выпуск эмулятора QEMU 2.8.0 "  +4 +/
Сообщение от IB on 21-Дек-16, 19:45 
> Я как всегда спрошу, а оно уже может написанное для SPARC64 запустить
> на x86_64?

Если вы запостили баг, то можете посмотреть его статус.
Ваш К.О.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

15. "Выпуск эмулятора QEMU 2.8.0 "  +/
Сообщение от Андрей (??) on 21-Дек-16, 22:21 
> Добавлена поддержка платы STM32F2xx (Netduino 2) и улучшена поддержка платы Aspeed;

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. "Выпуск эмулятора QEMU 2.8.0 "  +1 +/
Сообщение от doom (ok) on 21-Дек-16, 23:46 
Неа. Есть всякие форки типа этого http://gnuarmeclipse.github.io/qemu/
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

18. "Выпуск эмулятора QEMU 2.8.0 "  +1 +/
Сообщение от Андрей (??) on 22-Дек-16, 00:07 
Да, это гуглом я нашёл. Интересно, каким макаром Netduino вдруг попал в mainline.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

20. "Выпуск эмулятора QEMU 2.8.0 "  +1 +/
Сообщение от Андрей (??) on 22-Дек-16, 00:20 
https://lists.gnu.org/archive/html/qemu-devel/2014-11/msg036...

Крутой qemu'шник заявил, что он хочет. А ему сказали, что готовы сделать just for fun. Он проигнорировал человека. И в итоге имеем:

> but if you are not interested, no problem, I'll keep everything local in my branch.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

21. "Выпуск эмулятора QEMU 2.8.0 "  +/
Сообщение от doom (ok) on 22-Дек-16, 00:32 
Впринципе, ему там всё правильно сказали.

Netduino я думаю попала, т.к. у stm32F2 ядро cortex-m3, которое уже давно успешно эмулируется.


Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

22. "Выпуск эмулятора QEMU 2.8.0 "  +/
Сообщение от Андрей (??) on 22-Дек-16, 00:51 
> Впринципе, ему там всё правильно сказали.

Если у меня есть куча кода, который не использует явно фичи M4, но скомпилирован под M0, M3, M4, так почему бы не запустить такой код без перекомпиляции?

> Netduino я думаю попала

Процесс публикации патчей пошёл:
https://lists.nongnu.org/archive/html/qemu-devel/2014-09/msg...
v1: Tue, 9 Sep 2014 18:23:48 +1000
...
https://lists.nongnu.org/archive/html/qemu-devel/2015-02/msg...
v11: Thu, 26 Feb 2015 15:33:35 +0900

Полгода ушло на то, что уже было в принципе готовым.

И вот сегодня более 2 лет спустя релиз. Да... Долговато. Может, я бегло глянув что-то упустил.

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

25. "Выпуск эмулятора QEMU 2.8.0 "  +/
Сообщение от doom (ok) on 22-Дек-16, 11:35 
> Если у меня есть куча кода, который не использует явно фичи M4,
> но скомпилирован под M0, M3, M4, так почему бы не запустить
> такой код без перекомпиляции?

Ну так ему и заметили, что нет смысла пихать в апстрим кучу не полноценного кода.

Ну и вообще профили Mx между собой не 100% совместимы. У них давно уже появилась эмуляция stellaris младших серий, но там CM3 и периферия простая + singe-cycle Flash. Эмулировать stm32f4 намного сложнее.

> И вот сегодня более 2 лет спустя релиз. Да... Долговато. Может, я
> бегло глянув что-то упустил.

Да, такая скорость обработки патчей печалит. С openocd такая же фигня, приходится держать пяток форков.


Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

29. "Выпуск эмулятора QEMU 2.8.0 "  +/
Сообщение от Андрей (??) on 22-Дек-16, 15:22 
> Ну так ему и заметили, что нет смысла пихать в апстрим кучу не полноценного кода.

Не, я о том ARM-коде. А ему - о том, что в qemu не хотят кода-заглушек, который как бы и есть, но как бы и не отработает специфичные команды. А я о том, что лучше, чтобы одна из нескольких программок пусть и сбойнула с not implemented opcode но зато другие работали бы без пересборки.

> С openocd такая же фигня, приходится держать пяток форков.

Какое-то время назад глядя на git и медленную разработку, я заглянул в gerrit. И обалдел: там просто море, непочатый край. И не понял, разработчики не комитят просто по принципу "не я написал" (по аналогии с not invented here) или как это понимать?..

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

26. "Выпуск эмулятора QEMU 2.8.0 "  +/
Сообщение от Аноним (??) on 22-Дек-16, 12:42 
>> but if you are not interested, no problem, I'll keep everything local in my branch.

А в чем интерес сферического cortex M3 в вакууме? Чтобы лишний раз подтвердить что такие эмуляторы бесполезны для отладки? Большинство коммерческих софтварных эмуляторов по мере усложнения чипов банально вышли из употребления. Никому не надо приблизительную третьесортную эмуляцию в которой прога вроде работает, а на реальном железе - швах.

Вот и получается что проще всего на реальной железке отлаживаться. Иначе есть риск получить очень специфичный класс трудноуловимых глюков.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

31. "Выпуск эмулятора QEMU 2.8.0 "  +/
Сообщение от doom (ok) on 22-Дек-16, 19:15 
> А в чем интерес сферического cortex M3 в вакууме? Чтобы лишний раз
> подтвердить что такие эмуляторы бесполезны для отладки? Большинство коммерческих софтварных
> эмуляторов по мере усложнения чипов банально вышли из употребления. Никому не
> надо приблизительную третьесортную эмуляцию в которой прога вроде работает, а на
> реальном железе - швах.

Вцелом да, т.к. там где Cortex-M применяются всё сильно завязано на периферию. Но если есть хороший эмулятор ядра, то почему и нет - unit tests, замеры по тактам, да и просто при портировании всяких библиотек полезно.

Ну и насчет того, что эмуляторы вышли из употребления - это не так. Для того же ARM 8 появился эмулятор, и народ бодро запилил поддержку компиляторов, операционок не имея на руках реального железа. C RISCV та же история.

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

16. "Выпуск эмулятора QEMU 2.8.0 "  –1 +/
Сообщение от Аноним (??) on 21-Дек-16, 23:12 
> В реализацию протокола SPICE добавлена полноценная поддержка рендеринга с использованием OpenGL при указании "gl=on";

Подскажите, это имеется ввиду, что рендеринг opengl будет выполняться на клиенте? Или что vm сможет использовать virgil?

> клиенту выдаются ответы от первой, первичной, виртуальной машины (PVM), а вторая, запасная, виртуальная машина (SVM) работает на холостом ходу. Если оборудование PVM даёт сбой, то пользователь переключается на SVM, которая находится в точно таком же состоянии, как и PVM;

Т.е. они не раму синхронизируют, а клонируют взаимодействие с внешним миром? А как обошли всяческие случайные числа, временные ключи и т.п.?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

23. "Выпуск эмулятора QEMU 2.8.0 "  +/
Сообщение от Аноним (??) on 22-Дек-16, 00:56 
> Т.е. они не раму синхронизируют, а клонируют взаимодействие с внешним миром? А как обошли всяческие случайные числа, временные ключи и т.п.?

Одной памяти не достаточно. Надо идентичное состояние системы, включая регистры и состояние виртуальных устройств. Соответственно, все "случайные" числа и часы будут синхронизированы между двумя машинами.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

24. "Выпуск эмулятора QEMU 2.8.0 "  +/
Сообщение от Anonimus (??) on 22-Дек-16, 03:57 
Ок, а что потом делать со сбойным PVM, оно само починится?
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

27. "Выпуск эмулятора QEMU 2.8.0 "  +1 +/
Сообщение от Аноним (??) on 22-Дек-16, 13:41 
Выбросить, а железо, на котором работал PVM, отдать в сервис.
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

19. "Выпуск эмулятора QEMU 2.8.0 "  –1 +/
Сообщение от Андрей (??) on 22-Дек-16, 00:13 
Кстати, недавно устанавливал Debian на флешку через Qemu то ли 2.6, то ли 2.7 и удивился, что OpenGL работает. Хотя я вообще ничего не настраивал (и без spice). А у меня ни какой не распоследний интел (sandy bridge) да и меса была то ли 10, то ли 11. Единственный глюк: внутри qemu не было vsync'а. И glxgears выдавал сотни кадров вместо 60.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

30. "Выпуск эмулятора QEMU 2.8.0 "  +/
Сообщение от Аноним (??) on 22-Дек-16, 17:05 
> Суть технолгии в том, что на двух хостах запускаются две идентичные копии виртуальной машины

Штука в том, что когда две машины начинают вести себя по-разному, нет возможности сказать, какая из них "врет". Поэтому обычно запускают три машины.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

33. "Выпуск эмулятора QEMU 2.8.0 "  +/
Сообщение от Аноним (??) on 23-Дек-16, 01:13 
Без ускорения не нужно.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

34. "Выпуск эмулятора QEMU 2.8.0 "  +/
Сообщение от Shell email(??) on 23-Дек-16, 18:41 
А когда сделают поную поддержку sparc64?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру