Intereting Posts
Измените одиночные пустые строки, чтобы удвоить пустые строки, используя awk Как расшифровать файл во временный и прочитать без сохранения? Список всех пакетов RPM, установленных из репо "X" Выяснение структуры физического кеша во FreeBSD Как выполнить тест ping через таблицу маршрутизации не по умолчанию? Программа для двусторонней синхронизации больших файлов (образы дисков VM) Понимание простого файла конфигурации для initramfs Использование grep -v по нескольким аргументам Могу ли я безопасно удалять старые каталоги в моем домашнем каталоге? PAM против LDAP против SSSD против Kerberos ZHH имеет две вкладки для заполнения имен файлов Является ли управление питанием в разных дистрибутивах Linux одинаковым? Как создать .deb, который имеет дело с различными системами инициализации Резервное копирование с помощью find и ssh для сервера вне сайта rm -rf: невозможно удалить `/ opt / jetty ': каталог не пуст

Что недоступно из пользовательского пространства?

Я где-то читал (3.1.3), что существует высокое кольцо (режим супервизора) и низкое кольцо (пользовательский режим) и что некоторые «вещи» могут выполняться только с самого высокого кольца.

Что они подразумевают под «вещами»? Я предполагаю, что это включает в себя то, что syscalls (чтение / запись / открытие …), но это так? Думают ли они о чем-то более низком уровне, например, о возможных инструкциях ASM?

Есть ли список где-то, что разрешено в пользовательском режиме, а что нет?

Кольца, о которых вы говорите, обсуждаются здесь в Википедии под названием « Кольцо (компьютерная безопасность)» .

ss колец

Взгляните на раздел режима Supervisor , это то, что использует Linux.

Linux и Windows – это две операционные системы, которые используют супервизор / пользовательский режим. Для выполнения специализированных функций код пользовательского режима должен выполнять системный вызов в режиме супервизора или даже в пространстве ядра, где доверенный код операционной системы выполнит требуемую задачу и вернет ее обратно в пространство пользователя.

Я также хотел бы взглянуть на страницу « Системный вызов» , в которой более подробно обсуждается характер этих вызовов, уделяя особое внимание привилегиям, обсуждаемым там:

Однако многим нормальным приложениям явно необходим доступ к этим компонентам, поэтому системные вызовы становятся доступными операционной системой для обеспечения четко определенных, безопасных реализаций для таких операций. Операционная система выполняется на самом высоком уровне привилегий и позволяет приложениям запрашивать услуги через системные вызовы, которые часто выполняются с помощью прерываний; прерывание автоматически переводит процессор на некоторый уровень требуемых привилегий, а затем передает управление ядру, которое определяет, должна ли вызывающая программа предоставлять запрошенную услугу. Если услуга предоставлена, ядро ​​выполняет определенный набор инструкций, по которым вызывающая программа не имеет прямого управления, возвращает уровень привилегий к вызывающей программе, а затем возвращает управление вызывающей программе.

API ядра Kernel также может пролить свет на ваши вопросы относительно того, что находится в режиме супервизора.