Гипервизор

Программный слой для запуска и управления виртуальными машинами.

Гипервизор, также известный как монитор виртуальных машин (VMM), представляет собой программный, аппаратный или микропрограммный слой, который создает и управляет виртуальными машинами (ВМ). Он абстрагирует нижележащие физические аппаратные ресурсы (ЦП, память, хранилище, сеть) и распределяет их между несколькими независимыми ВМ. Гипервизоры позволяют одновременно запускать несколько операционных систем и приложений на одной физической машине, повышая эффективность использования ресурсов, обеспечивая изоляцию и упрощая переносимость. Существует два основных типа: гипервизоры типа 1 (bare-metal), которые работают непосредственно на оборудовании хоста (например, VMware ESXi, Microsoft Hyper-V, KVM), и гипервизоры типа 2 (hosted), которые работают поверх обычной операционной системы (например, VMware Workstation, Oracle VirtualBox). Гипервизоры типа 1, как правило, обеспечивают лучшую производительность и безопасность благодаря прямому доступу к оборудованию, в то время как гипервизоры типа 2 проще в установке и управлении для виртуализации настольных компьютеров. Ключевые функции включают подготовку ВМ, планирование, распределение ресурсов, создание снимков состояния (snapshotting) и миграцию. Компромиссы включают накладные расходы на производительность, потенциальные уязвимости безопасности в самом слое гипервизора и сложность управления виртуализированными средами.

        graph LR
  Center["Гипервизор"]:::main
  Rel_virtualization["virtualization"]:::related -.-> Center
  click Rel_virtualization "/terms/virtualization"
  Rel_virtual_machine["virtual-machine"]:::related -.-> Center
  click Rel_virtual_machine "/terms/virtual-machine"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Простыми словами

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

🤓 Expert Deep Dive

Гипервизоры работают, перехватывая и управляя привилегированными инструкциями и запросами доступа к оборудованию от гостевых операционных систем. Гипервизоры типа 1 достигают этого за счет прямого контроля оборудования, часто используя расширения виртуализации ЦП (Intel VT-x, AMD-V) для аппаратной виртуализации. Это позволяет гостевым ОС выполнять большинство инструкций непосредственно на ЦП, а гипервизор вмешивается только при выполнении конфиденциальных операций. Управление памятью включает такие методы, как теневые таблицы страниц или вложенные таблицы страниц для сопоставления гостевых физических адресов с физическими адресами хоста. Гипервизоры типа 2 эмулируют оборудование или полагаются на модули ядра ОС для доступа к оборудованию, что приводит к большим накладным расходам. Архитектурные компромиссы сосредоточены на производительности по сравнению с гибкостью. Прямой доступ к оборудованию (тип 1) минимизирует накладные расходы, но требует специфической поддержки оборудования и может быть сложным. Эмуляция (тип 2) более переносима, но медленнее. Безопасность в значительной степени зависит от изоляции, обеспечиваемой гипервизором; уязвимости в гипервизоре могут скомпрометировать все размещенные ВМ.

📚 Источники