Требования к виртуализации Popek и Goldberg
-
Определение и свойства VMM
- Системные виртуальные машины виртуализируют аппаратные ресурсы.
- Монитор виртуальной машины (VMM) абстрагирует виртуальную машину.
- VMM должен удовлетворять трем свойствам: эквивалентности, управления ресурсами и производительности.
-
Теоремы виртуализации Попека и Голдберга
- Для создания эффективного VMM достаточно перехвата и эмуляции чувствительных инструкций.
- Рекурсивная виртуализация возможна при отсутствии временных зависимостей и наличии VMM.
- Гибридный VMM возможен для машин с подмножеством пользовательских инструкций.
-
Примеры архитектур и их соответствие требованиям
- PDP-10 имеет конфиденциальные, но не привилегированные команды.
- System/370 удовлетворяет требованиям виртуализации, так как все конфиденциальные инструкции являются привилегированными.
- Motorola MC68000 имеет одну непривилегированную чувствительную инструкцию.
- IA-32 (x86) имеет 18 конфиденциальных непривилегированных команд, которые были улучшены с появлением AMD-V и Intel VT-x.
- IA-64 требует значительных усилий для поддержки виртуализации.
- UltraSPARC имеет «гиперпривилегированный» режим, соответствующий платформе sun4v.
- PowerPC все конфиденциальные инструкции являются привилегированными.
-
Эффективность на практике
- Производительность виртуальных машин может существенно отличаться от реальных аппаратных средств.
- Ранние эксперименты показали низкую производительность виртуальных машин по сравнению с реальными аппаратными средствами.
- Аппаратные средства поддержки, такие как дополнительные функции и аппаратная поддержка виртуальной памяти, помогли улучшить производительность.
-
Рекомендации
- В статье представлены рекомендации по проектированию виртуализированных компьютерных архитектур.
Полный текст статьи: