Насколько виртуальный виртуализация?

При чтении различных материалов по различным предметам время от времени я возвращаюсь на вопрос: Насколько виртуальный действительно виртуализация? С "виртуализацией" я имею в виду вещи как Виртуальный ПК и VMware, которые позволяют Вам выполнять гостя ОС. В частности, что я не понимаю:

  • Виртуальная машина обеспечивает среду, которая существенно неотличима от реальной машины? Конечно, будут некоторые практические различия (как аварийные люки вызова гипервизора, фиктивные имена аппаратного компонента, и т.д.), которые позволяют обнаружение виртуальной машины, но там будут какими-либо несовместимостями?
  • Если среда полностью совместима с реальной машиной, то действительно ли вложенные виртуальные машины возможны?
  • В противном случае это означает, что гость ОС должен быть конкретно адаптирован к выполнению в виртуальной машине? Если так, затем это означает, что большинство сегодняшних OS'es уже было адаптировано к большинству поставщиков VM?
  • Действительно ли эти вещи отличаются для основанной на программном обеспечении виртуализации по сравнению с базирующимися аппаратными средствами?
  • Каково точно различие между основанной на программном обеспечении виртуализацией и основанный на аппаратных средствах?
5
задан 25.01.2011, 03:03

5 ответов

Насколько мне известно:

  • Были исследования возможности "необнаруживаемого руткита", где злонамеренный гипервизор будет находиться между Вашим компьютером и аппаратными средствами. Дилеры ценных бумаг (и поставщики ЦП) были разгневаны, что кто-то создал что-то как этот и сказал, что никто не мог обнаружить его, таким образом, они на самом деле шли со способом использовать функции синхронизации и сравнение результатов с внешним источником. Таким образом, виртуализация является почти необнаруживаемой, но если Вы платите действительно близко к маленьким деталям, и у Вас есть внешняя ссылка, существуют способы выяснить, что Вы виртуализируетесь. Это не должно вызывать несовместимость, все же.
  • Это не. Ваш виртуализированный ЦП не имеет тех же возможностей, которые имеет Ваш физический. Инструкции по виртуализации Intel доступны только хосту ОС, например. Это не означает, однако, что у Вас не может быть виртуальной машины в виртуальной машине: это просто означает, что это собирается быть чертовски медленным.
  • Ose не должны быть адаптированы к виртуальным машинам. Это скорее идет наоборот.
  • Да, они в некоторой степени. Виртуализация программного обеспечения будет всегда работать. Аппаратная виртуализация обычно не является переходной (гостевые Ose не могут использовать аппаратную виртуализацию для хостинга большего количества гостевых Ose).
  • Должен быть больше к этому, но я думаю, что это - хорошее начало.
6
ответ дан 07.12.2019, 16:56

Позвольте мне ответить детально:

1 виртуальная машина обеспечивает среду, которая существенно неотличима от реальной машины? Конечно, будут некоторые практические различия (как аварийные люки вызова гипервизора, фиктивные имена аппаратного компонента, и т.д.), которые позволяют обнаружение виртуальной машины, но там будут какими-либо несовместимостями?

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

2, Если среда полностью совместима с реальной машиной, то действительно ли вложенные виртуальные машины возможны?

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

3 В противном случае, который означает, что гость ОС должен быть конкретно адаптирован к выполнению в виртуальной машине? Если так, затем это означает, что большинство сегодняшних OS'es уже было адаптировано к большинству поставщиков VM?

У Вас есть он reveresed. Мы получили ОС перед виртуальной машиной. Виртуальная машина адаптируется к ОС, не другому окольному пути. (существует некоторое исключение, например, старая версия Xen. Но это - исключения),

4 эти вещи, отличающиеся для основанной на программном обеспечении виртуализации по сравнению с базирующимися аппаратными средствами?

см. 2.

5, Каково точно различие между основанной на программном обеспечении виртуализацией и основанный на аппаратных средствах?

см. 4.

2
ответ дан 07.12.2019, 16:56

До гостя знает ОС, она работает на реальных аппаратных средствах. Смысл виртуализации - то, что Вы ничего не должны изменять на госте.

VMware (например), обеспечивает инструменты и драйверы для загрузки в гостя, но они не необходимы в изолированной машине. Они делают перетаскивание между хостом и гостем возможностью и некоторыми другими аккуратными функциями, но они не обязаны успешно выполнять гостя самой.

IBM на самом деле вела виртуализацию со своим VM (теперь z/VM) продукт, который может успешно выполнить другие копии z/VM, выполнив еще больше копий z/VM, работающего z/OS и zLinux.

Конечно, могут быть некоторые ограничения на фактическую реализацию VM, при этом классическим примером является неспособность VMware выполнить ОС/2 даже при том, что это будет работать на реальном ЦП очень хорошо.

Но это - ограничение продукта, не понятие виртуализации один.

С точки зрения различий в аппаратных средствах/программном обеспечении аппаратная виртуализация просто использует некоторый аспект фактического ЦП (или другие аппаратные средства) для помощи. Чистая виртуализация программного обеспечения является действительно просто эмуляцией (и обычно ужасно замедлитесь по сравнению с альтернативой).

2
ответ дан 07.12.2019, 16:56

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

Вложенные виртуальные машины возможны с VMs, которые являются эмулированным purly (например, Bochs), но Виртуальный ПК и и VMware использует некоторую поддержку оборудования, которая не разработана для вложения.

Основанная на программном обеспечении виртуализация эмулирует каждую инструкцию ЦП (иногда Кольцо использования программных решений 1 для собственного выполнения Кольца 0 кодов как, оптимизация и этот прием не могут быть вложены).

Основанная на аппаратных средствах виртуализация использует специальный режим в процессоре, разработанном, чтобы передать управление к Гипервизору и установить дополнительный уровень таблиц страниц.

2
ответ дан 07.12.2019, 16:56

Программное обеспечение виртуализации AFAIK эмулирует HAL (уровень аппаратной абстракции) беспрепятственно так гость, ОС понятия не имеет различие. т.е.: нормальная ОС используется.

1
ответ дан 07.12.2019, 16:56

Теги

Похожие вопросы