Что я воспринимаю как виртуальную машину, так это то, что она просто позволяет одновременно загружать другую операционную систему в ее изолированную среду.
Он ограничен той же аппаратной архитектурой, что и операционная система хоста.
С Intel VT (и подобным) можно запустить 64-разрядную версию операционной системы на 32-разрядном хосте.

Примерами этого являются VirtualBox и VMWare.

Но QEMU - это аппаратный эмулятор: он эмулирует весь компьютер и (может) эмулирует всю архитектуру при эмуляции каждого отдельного элемента.
Это не ограничено той же архитектурой.
Мы можем запустить ARM-версию Linux на QEMU, работающем на процессоре x64.

Android SDK использует QEMU для эмуляции планшетов и телефонов для тестирования.

Имея это в виду, можно ли сказать, что QEMU - это виртуальная машина?


Это вызвало много дискуссий в комментарии к вопросу « Как запретить сетевым администраторам доступ к USB-накопителю » на другом веб-сайте, в ходе которого возник «спор» о том, что аппаратный эмулятор все еще является виртуальной машиной.

1 ответ1

0

Виртуальная машина не предполагает специальной аппаратной поддержки для эффективной виртуализации и использования одного и того же набора команд.

VMWare транслирует код для запуска реального режима 8086 на 64-битном хосте. PC Emulator на PowerPC был переводом программного обеспечения в другой набор инструкций. Java Virtual Machine - это абстракция, реализованная в программном обеспечении, по-видимому, процессор и архитектура. MAME - это набор виртуальных машин, представляющих собой классические аркадные консоли, которые включают в себя различные процессоры, специальные графические и звуковые чипы и другие новые функции чипсета.

Эмулятор - это виртуальная машина в научном смысле, поэтому они являются синонимами. При обычном неформальном использовании это означает, что эмулируемая вещь - это "машина", законченное устройство, которое также может существовать как аппаратный экземпляр. Но это немного нечетко.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .