Открыть сервис

Nitro Hypervisor

Nitro Hypervisor — это легковесный гипервизор второго типа (тип 2), разработанный компанией Apple для обеспечения изоляции и безопасности выполнения кода в операционных системах семейства macOS, начиная с версии macOS 10.10 Yosemite (2014). Он представляет собой часть фреймворка Hypervisor.framework, который предоставляет разработчикам приложений прямой доступ к аппаратным возможностям виртуализации процессоров Intel (VT-x) и AMD (AMD-V) без необходимости написания собственных драйверов ядра.

Архитектура и принцип работы

Nitro Hypervisor функционирует на уровне ядра XNU (X is Not Unix), используя встроенные механизмы аппаратной виртуализации. В отличие от гипервизоров первого типа (например, VMware ESXi или Microsoft Hyper-V), которые работают непосредственно на оборудовании, Nitro является гипервизором второго типа, запускающимся поверх существующей операционной системы.

Основные компоненты

Особенности реализации

История развития

macOS 10.10 Yosemite (2014)

Впервые Hypervisor.framework был представлен на конференции WWDC 2014. Основной целью было упрощение разработки инструментов виртуализации, таких как эмуляторы мобильных устройств (например, симулятор iOS) и контейнеры для тестирования ПО. В этой версии Nitro поддерживал только 64-битные гостевые системы на процессорах Intel.

macOS 10.15 Catalina (2019)

С выходом Catalina была добавлена поддержка виртуализации для процессоров архитектуры ARM64, что стало важным шагом в контексте перехода Apple на собственные процессоры Apple Silicon. В этой версии Nitro начал использовать аппаратную виртуализацию ARM (VHE — Virtualization Host Extensions).

macOS 11 Big Sur (2020) и Apple Silicon

С началом перехода на процессоры M1, Nitro Hypervisor был полностью переработан для работы на ARM-архитектуре. В отличие от Intel-версии, где использовался модуль ядра, на Apple Silicon Nitro интегрирован непосредственно в ядро XNU, что повысило производительность и снизило задержки. В этой версии появилась поддержка запуска гостевых систем как на ARM64, так и на x86_64 (через эмуляцию Rosetta 2, хотя сама Rosetta 2 не использует Nitro напрямую).

macOS 14 Sonoma (2023) и новее

В последних версиях macOS были добавлены расширенные возможности управления памятью (например, поддержка больших страниц — 2 МБ и 1 ГБ), улучшена обработка прерываний и введена поддержка виртуальных устройств NVMe для ускорения операций ввода-вывода.

Применение

Разработка и тестирование ПО

Запуск альтернативных операционных систем

Образовательные и исследовательские цели

Nitro используется в академических проектах для изучения работы гипервизоров и механизмов виртуализации. Благодаря открытому API Hypervisor.framework, исследователи могут создавать собственные легковесные гипервизоры для экспериментов.

Ограничения и критика

Ограничения

Критика

Сравнение с другими гипервизорами

ХарактеристикаNitro HypervisorKVM (Linux)Hyper-V (Windows)VMware ESXi
ТипВторой (тип 2)Первый (тип 1)Первый (тип 1)Первый (тип 1)
ПлатформаmacOS (Intel/ARM)Linux (x86/ARM)Windows (x86/ARM)x86-64
Открытый кодНетДаНетНет
GPU-виртуализацияНет (на ARM)Ограниченная (через VFIO)Да (GPU-PV)Да (vGPU)
Управление памятьюEPT (Intel), VHE (ARM)EPT, NPTEPT, SLATEPT, NPT

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →