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

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


person Legend    schedule 01.03.2010    source источник


Ответы (1)


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

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

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

person John    schedule 01.03.2010
comment
Я думаю, что то, что вы описываете, правильно, и я пытаюсь найти ссылки (лучше всего подойдет документация по ядру Linux), но я не могу найти. У вас есть ссылки на это? - person jperelli; 14.07.2013