В монолитной (monolithic) модели гипервизор использует для доступа к оборудованию собственные драйверы (рис. 3-4). Гостевые ОС работают на виртуальных машинах поверх гипервизора. Когда гостевой системе нужен доступ к оборудованию, она должна пройти через гипервизор и его модель драйверов. Обычно одна из гостевых ОС играет роль администратора или консоли, в которой вы запускаете компоненты для предоставления ресурсов, управления и мониторинга всех гостевых ОС, работающих на компьютере.
Модель монолитного гипервизора обеспечивает прекрасную производительность, но «хромает» с точки зрения защищенности и устойчивости. Это связано с тем, что она по своей сути обладает более широким фронтом нападения и подвергает систему большему потенциальному риску, поскольку разрешает работу драйверов (а иногда даже программ сторонних производителей) в очень чувствительной области. Скажем, вредоносная программа способна установить в гипервизоре под видом драйвера устройства регистратор нажатий клавиш. Если такое случиться, под контролем регистратора окажутся все гостевые ОС системы. Хуже того, этот «жучок» будет совершенно невозможно обнаружить средствами гостевых ОС: гипервизор им по определению не видим!
Рис. 1.4 Монолитный гипервизор
Еще одна проблема — устойчивость: если в обновленную версию драйвера затесалась ошибка, в результате обновления сбои начнутся во всей системе, во всех ее виртуальных машинах. Иными словами, в этой модели критическое значение приобретает устойчивость драйверов, а они зачастую создаются сторонними производителями, что может стать причиной проблем При этом оборудование серверов постоянно эволюционирует, и потому драйверы обновляются довольно часто, что увеличивает риск различных неприятностей. Можно считать монолитную модель моделью «толстого гипервизора» — из-за количества драйверов, поддержка которых ему требуется.