Подтвердить что ты не робот

Каковы конкретные различия между "эмулятором" и "виртуальной машиной"?

Я вижу, что это разные вещи, но я действительно не могу понять, почему. Некоторые говорят: "эмуляторы для игр, виртуальные машины для операционных систем" Я не согласен с этими ответами, потому что есть эмуляторы для платформ, отличных от консолей видеоигр (AMIGA (?))

Можете ли вы мне помочь?

4b9b3361

Ответ 1

Виртуальные машины используют собственную виртуализацию процессора, в какой бы то ни было форме, чтобы обеспечить виртуализированный интерфейс для реального оборудования. Эмуляторы эмулируют аппаратное обеспечение, не полагаясь на то, что процессор способен запускать код напрямую и перенаправлять некоторые операции на гипервизор, управляющий виртуальным контейнером.

Пример x86 может помочь: Bochs - эмулятор, эмулирующий весь процессор в программном обеспечении, даже если он работает на совместимом физическом процессор; qemu также является эмулятором, хотя с использованием пакета kqemu на стороне ядра он получил ограниченную возможность виртуализации, когда эмулируемая машина соответствовал физическому оборудованию - но он не мог действительно использовать полную виртуализацию x86, поэтому он был ограниченным гипервизором; kvm - это гипервизор виртуальной машины.

Можно сказать, что гипервизор "подражает" защищенному доступу; однако он не эмулирует процессор, и было бы правильнее сказать, что он обеспечивает защищенный доступ.

Защищенный доступ означает такие вещи, как настройка таблиц страниц или чтение/запись портов ввода-вывода. Для первого гипервизор проверяет (и обычно модифицирует, чтобы соответствовать собственной памяти гипервизора) операцию таблицы страниц и сам выполняет защищенную инструкцию; Операции ввода-вывода сопоставляются с эмулированным аппаратным оборудованием вместо эмулируемого ЦП.

И только для усложнения вещей Wine также является гипервизором/виртуальной машиной (хотя и на более высоком уровне ABI), чем эмулятор (отсюда "Вино не является эмулятором" ).

Ответ 2

Целью виртуальной машины является создание изолированной среды.

Цель эмулятора - точно воспроизвести поведение некоторых аппаратных средств.

Оба нацелены на некоторый уровень независимости от аппаратного обеспечения хост-машины, но виртуальная машина стремится имитировать достаточно аппаратное обеспечение, чтобы заставить гостевую работу, и делать это с упором на эффективность эмуляции/виртуализации. В конечном итоге виртуальная машина может не действовать как любое аппаратное обеспечение, которое действительно существует, и может потребоваться драйверы, специфичные для VM, но набор гостевых драйверов будет согласован в большом количестве виртуальных сред.

Эмулятор, с другой стороны, пытается точно воспроизвести все поведение, в том числе причуды и ошибки, для моделирования реального реального оборудования. Обязательные гостевые драйверы будут точно соответствовать моделируемой среде.

Виртуализация, паравиртуализация и технология эмуляции, или некоторая комбинация может использоваться для реализации виртуальных машин. Эмуляторы обычно не могут использовать виртуализацию, потому что это сделает абстракцию несколько негерметичной.

Ответ 3

Dell объяснила, в чем разница между эмуляторами и виртуальными машинами.

Источник - http://techpageone.dell.com/technology/emulation-virtualization-whats-difference/

Эмуляция или виртуализация: В чем разница?

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

В чем разница?

Эмуляция, короче говоря, предполагает, что одна система имитирует другую. Для Например, если часть программного обеспечения работает в системе A, а не в системе B, мы делаем систему B "эмулируем" работу системы A. Затем программное обеспечение работает на эмуляции системы А.

В этом же примере виртуализация будет включать в себя систему A и разделяя его на два сервера, B и C. Оба этих "виртуальных" серверы представляют собой независимые программные контейнеры, имеющие собственный доступ на программные ресурсы - ЦП, ОЗУ, хранилища и сети - и могут быть перезагружены независимо. Они ведут себя точно так же, как реальное оборудование, и приложение или другой компьютер не сможет сказать разница.

Каждая из этих технологий имеет свои собственные преимущества, преимущества и недостатки.

Эмуляция

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

Интересно, что вы можете запустить виртуальный сервер в эмулированном Окружающая среда. Итак, если эмуляция является такой пустой тратой ресурсов, почему считать это?

Эмуляция может быть эффективно использована в следующих сценариях:

• Запуск операционной системы, предназначенной для другого оборудования (например, Mac программное обеспечение на ПК; консольные игры на компьютере)

• Запуск программного обеспечения, предназначенного для другой операционной системы (работает Mac-специфическое программное обеспечение на ПК и наоборот)

• Запуск устаревшего программного обеспечения после сопоставимого оборудования устареет

Эмуляция также полезна при разработке программного обеспечения для нескольких систем. Кодирование может выполняться на одной машине, и приложение может быть работать в эмуляции нескольких операционных систем, все работает одновременно в их собственных окнах.

виртуализация

В нашем примере виртуализации мы можем с уверенностью сказать, что он использует вычислительные ресурсы эффективным, функциональным способом - независимыми их физического расположения или расположения. Быстрая машина с достаточной ОЗУ и достаточное количество хранилища можно разделить на несколько серверов, каждый из которых имеет пул ресурсов. Эта единственная машина, обычно развернутая как один сервер, может затем разместить веб-сервер и почтовый сервер компании. Вычислительные ресурсы, которые ранее недоиспользулись, теперь можно использовать к полному потенциалу. Это может помочь резко сократить расходы.

В то время как для эмулируемых сред требуется, чтобы программный мост взаимодействовал с аппаратное обеспечение, виртуализация напрямую обращается к оборудованию. Однако, несмотря на то, что это самый быстрый вариант, виртуализация ограничена которое уже могло работать на основе аппаратное обеспечение. К наиболее очевидным преимуществам виртуализации относятся:

• Широкая совместимость с существующей архитектурой процессора x86

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

• Автономный в каждом случае

Между эмуляцией и виртуализацией ваш бизнес может выполнять большинство виртуальных систем. Хотя обе службы звучат одинаково, все вращается вокруг того, как вы используете программное обеспечение. Если вы хотите, чтобы программное обеспечение чтобы уйти с пути, виртуализация позволяет запускать гостевой код прямо на CPU. И наоборот, эмуляторы будут запускать гостевой код сами, сохраняя CPU для других задач.