Как Windows реализует пользовательский режим / режим ядра? - PullRequest
2 голосов
/ 27 апреля 2011

Как это делается с точки зрения программы?

Как можно избежать того, чтобы программа пользовательского режима загружала модули ядра и вызывала его функции?

Ответы [ 2 ]

2 голосов
/ 27 апреля 2011

Виртуальная память.

Непривилегированные процессы просто не могут достичь структур данных и кода ядра, потому что нет соответствующих записей таблицы страниц.А процессор не позволяет непривилегированным процессам менять таблицу страниц.

1 голос
/ 29 декабря 2011

Читать о защитных кольцах

Аппаратное представление: 1) В управляющем регистре есть бит, который отличается (скажем, 0 = ядро, 1 = пользователь).2) Аппаратный доступ к устройствам обычно недоступен в режиме пользователя.3) Некоторые инструкции доступны только в режиме ядра.4) Изменения таблиц страниц возможны только в режиме ядра.5) Контроллер прерываний можно изменять только в режиме ядра.6) Другие аппаратные регистры управления (такие как системное время, управление таймером и т. Д.) Доступны только в режиме ядра.7) Память ядра недоступна пользователям в пользовательском режиме.

скопировано из набора ps162

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...