Разница между процессами, работающими в режиме ядра и выполняющимися от имени root?

Мне известно о разнице между процессом, работающим в пользовательском режиме, и процессом, работающим в режиме ядра (в зависимости от ограничений доступа, доступа к оборудованию и т. Д.). Но просто из любопытства, в чем разница между процессом, работающим в режиме ядра, и процессом, выполняющимся от имени пользователя root?

1 ответ

Решение

Режим ядра и root - две разные идеи, которые на самом деле не связаны друг с другом. Концепция запуска процесса от имени root - это термин unix/linux, который означает, что вы вошли в систему как администратор системы.

Любой процесс, который вы запускаете, будь то пользователь root или обычный пользователь, обычно работает как в режиме пользователя, так и в режиме ядра. Система постоянно переключается между пользовательским режимом (где выполняется код приложения) и режимом ядра (где выполняется код ядра).

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

Другие вопросы по тегам