Каково различие между программированием привилегированного и непривилегированного режима?

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

5
задан Delan Azabani 9 June 2012 в 11:54
поделиться

2 ответа

Программирование в пользовательском режиме относится к программированию с использованием механизмов защиты, надзора и абстракции ядра операционной системы. например: в пользовательском режиме вы не можете записывать секторы диска, так как они «скрыты» под API файловой системы. Вы не можете писать в адреса физической памяти, так как ядро ​​контролирует преобразование между виртуальной и физической памятью, хотя вы можете зарезервировать память для своих нужд. Кроме того, хотя вы можете перейти на низкий уровень (сборку), вы не можете выполнять инструкции с привилегиями, например, пытаясь вмешаться в кеш-память процессора, TBL и MMU.

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

Конечно, нельзя думать о режиме ядра как о «менее ограниченном» и заниматься разработкой приложений в KM. Многие системные средства для прикладного программирования недоступны в KM, поскольку библиотеки, необходимые для взаимодействия с пользователем, работают в пользовательском режиме. Кроме того, эти библиотеки пользовательского режима не будут ссылаться на модуль ядра.

Это различие может быть более или менее определено в зависимости от операционной системы. KM / UM - это ерунда в DOS, где программам был разрешен свободный доступ к системным ресурсам (по крайней мере, в реальном режиме 8086/88 - это не относится к расширителям DOS).

6
ответ дан 14 December 2019 в 13:28
поделиться
2
ответ дан 14 December 2019 в 13:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: