Re[2]: Чудеса VmWare
От: Аноним  
Дата: 27.06.02 10:32
Оценка:
Здравствуйте TepMuHyc, Вы писали:

TMH>Возможно из-за того что на процессорах Intel 80x86 существует исключение "привелигированная инструкция".

TMH>Оно возникае в том случае когда юзеровская программа пытается вызвать "опасную" команду типа IN, OUT и т.д.
TMH>VMWare включает в себя драйвер который работает в привилегированном режиме и перехватывает такие исключения,
TMH>делает то что попросили и возвращает управление юзеровской программе — вот вкратце и все .

Если честно, не совсем понятно. Например. Есть хост-операционная система WinXP, под ней, как гостевая запущена Win2K.
В последней происходит какой-либо системный вызов (т.е. вызывается INT 2E). Необходимо обработать данное прерывание. Для этого должно произойти переключение процессора в защищенный режим, в котором он "рулит" машиной как хочет. В частности происходит управление физической памятью, устанавливаются типы подкачки страниц (регистр CR3) и т.д. Причем, машина получает доступ ковсем ресурсам. Кто и как должен управлять такими ситуациями ? Как хост-операционка передает (и передает ли) управление гостевым ОС, как забирает потом управление ? Как решаются проблемы с управлением памятью и обработкой прерываний ? Ведь гостевая ОС полностью функциональна, будто бы она запускалась сама по себе, и о хостовой ОС "не догадывается". Тем более, что гостевых ОС может быть несколько. Одним драйвером режима ядра тут не обойтись (на мой взгляд). Хотя может я и ошибаюсь.

Большое спасибо за ответ, но хотелось бы что-то поподробнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.