Я не был уверен, стоит ли публиковать это здесь или о переполнении стека, но, поскольку мой вопрос больше касается аппаратного обеспечения, чем программного обеспечения, я думаю, что это лучшее место.
У меня есть вопрос, касающийся эмуляции операционных систем (такая программа, как VMware). Я понимаю, что модули этого программного обеспечения работают в приоритете ring0 вместе с модулями вашей основной операционной системы.
Как это возможно, что программное обеспечение виртуальной машины может заставить модули ядра эмулируемой операционной системы работать в кольце с более низким приоритетом, чем кольцо 0? Я имею в виду, что эмулированное программное обеспечение по-прежнему работает отлично, так как я могу делать все то же, что и обычная машина. Но я не верю, что эмулируемое ядро контролирует системные ресурсы вне эмулятора, или это так ???
источник
Ответы:
На самом деле это не так. Ядро работает на новом специализированном «Кольце-1». Над ядром находится гипервизор (программа, фактически отвечающая за поддержку среды виртуализации, которая живет в хост-системе). Это тот, который работает в кольцо 0 на хост-машине. Любая гостевая ОС работает в новом изолированном Ring-1, созданном гипервизором.
См .: Звонок, Компьютерная безопасность (режим гипервизора)
источник
Архитектура современных процессоров позволяет процессору «эмулировать себя». Насколько известно гостевой ОС, она фактически контролирует аппаратное обеспечение, но в действительности гипервизор перехватывает все прерывания и т. Д. И эмулирует ответы.
источник