Разница между режимом ядра и пользовательским режимом - Morozov-5F/operational-system-docs GitHub Wiki
Режим ядра (или режим супервизора) – режим работы программного обеспечения, при котором оно имеет полный доступ ко всему программному обеспечению и может задействовать любую инструкцию, которую машина в состоянии выполнить.
Режим пользователя – режим работы программного обеспечения, в котором доступно лишь подмножество инструкций машины. В частности, программам, работающим в режиме пользователя, запрещено использование инструкций, управляющих машиной или осуществляющих операции ввода-вывода.
Эти режимы работы реализованы не только на словах – они воплощены на уровне аппаратного обеспечения. Сочетание отдельных режимов позволяет навести порядок в ОС. Если конкретно, решаются следующие задачи:
- Безопасность. При оставлении пользователю лишь части безопасных инструкций машины снижается риск нанесения вреда самой машине и информации, которая на ней хранится.
- Надежность. Если программа, работающая в режиме пользователя выполняет какую-либо опасную инструкцию, то вследствие аппаратной реализации режимов работы, перестанет работать только эта программа, а не ОС в целом.
- Структурированность. Ключевая функциональность ОС (работа с аппаратными устройствами, менеджмент ресурсов) выносится в режим ядра, тогда как остальные приложения (графический интерфейс, почтовые программы, и т.д.) работают в пользовательском режиме.
Источники:
- Современные опреационные системы, Э. Таненбаум, 4-е изд.
- Статья про режимы