Технологии эффективной виртуализации

Способность к виртуализации и производительность являются весьма важными вопросами, поэтому давайте их исследуем более подробно. Предположим, что в данный момент у нас есть гипервизор первого типа, поддерживающий одну виртуальную машину (рис.
7.2). Как и все другие гипервизоры первого типа, он работает непосредственно на оборудовании. Виртуальная машина запущена как пользовательский процесс в пользовательском режиме, и как таковой ей нельзя выполнять служебные инструкции (в толковании Попека — Голдберга). Но на виртуальной машине работает гостевая операционная система, которая считает, что она запущена в режиме ядра (хотя, разумеется, это не так). Мы назовем это виртуальным режимом ядра (virtual kernel mode). На виртуальной машине также запущены пользовательские процессы, которые считают, что они выполняются в пользовательском режиме (и действительно находятся в этом режиме).

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


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

VT-технологии выполнение инструкции завершается ошибкой, и операционная система попадает в аварийную ситуацию. На центральных процессорах с VT-технологией при выполнении гостевой операционной системой служебной инструкции происходит системное прерывание с передачей управления гипервизору (см. рис. 7.2). Затем гипервизор может проверить инструкцию, чтобы определить, была она выдана гостевой операционной системой в виртуальной машине или же пользовательской программой на виртуальной машине. В первом случае он организует выполнение инструкции, а в последнем — эмулирует то, что сделало бы настоящее оборудование при встрече со служебной инструкцией, выполняемой в пользовательском режиме.

7.4.1.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Технологии эффективной виртуализации:

  1. 3. У любого дела есть своя технология. Педагогическая технология всегда духовна и не лжива
  2. § 3.6. Организационные технологии
  3. Технология социальной работы
  4. Эффективность социальной работы
  5. Понятие и основания классификации организационных технологий.
  6. Производственная технология.
  7. Эффективность
  8. ЭФФЕКТИВНОСТЬ
  9. Оценка эффективности нововведения.
  10. Николас Дж. Карр. Блеск и нищета информационных технологий., 2005
  11. Мария Лукина. ТЕХНОЛОГИЯ ИНТЕРВЬЮ, 2003
  12. Технология
  13. Эффективность допроса
  14. Технологии, разделяемые по типам технологической неопределенности.