Лекция: ОС виртуальных машин
Рис. 22
Несколько вариантов реализации промежуточного ПО
Если не вдаваться в детали, то компьютерные системы обычно состоят из аппаратного обеспечения, операционной системы, которая работает на этом аппаратном обеспечении, и приложений, работающих в этой ОС. (Правда, во встроенных системах операционная система в традиционном понимании может отсутствовать.) Так или иначе, операционная система «знает» обо всех ресурсах и возможностях используемого оборудования и управляет им напрямую.
Если между ОС и вычислительной системой присутствует еще один программный уровень, тогда ОС получает только ту информацию, которую этот промежуточный уровень ей предоставляет. И сведения о ресурсах и возможностях используемого аппаратного обеспечения будут зависеть от этого промежуточного программного уровня. Операционная система может контролировать нижележащее оборудование только в той мере, в какой ему позволяет этот промежуточный уровень.
Промежуточный программный уровень может сообщить ОС все, что ему известно об аппаратном обеспечении, и просто передавать управляющие директивы без каких-либо изменений. Но возможно и иное решение: промежуточный уровень может не сообщать ОС все данные об имеющемся оборудовании и до определенной степени менять управляющие директивы, передаваемые ОС.
Конечно, существуют разнообразные устройства и интерфейсы, которые добавляют свои нюансы и сложности в вычислительную среду. Но использование программного уровня для формирования набора вычислительных ресурсов и правил работы и составляют основу так называемой виртуальной машины.
Виртуальная машина — это вычислительная среда, набор ресурсов и правил работы которой формируются (с помощью программного обеспечения) в некой другой вычислительной среде.