Я знаю о различии между процессом, работающим в непривилегированном режиме и одним выполнением в привилегированном режиме (на основе ограничений доступа, доступа к аппаратным средствам и т.д.). Но только из любопытства, каково различие между процессом, работающим в привилегированном режиме и одним выполнением как корень?
режим ядра и root - это две отдельные идеи, которые на самом деле не связаны друг с другом. Концепция запуска процесса с правами root - это термин unix / linux, который означает, что вы вошли в систему как администратор системы.
Любой процесс, который вы запускаете, будь то root или обычный пользователь, обычно работает как в пользовательском режиме, так и в режиме ядра. Система постоянно переключается между пользовательским режимом (в котором выполняется код приложения) и режимом ядра (в котором выполняется код ядра).
Некоторые программы, как и многие драйверы устройств, всегда работают в режиме ядра, что означает, что они имеют полный доступ к оборудованию. Обычное приложение, работающее с привилегиями root, все еще существует в пользовательском режиме и переключается в режим ядра только при выполнении системного вызова ядра, а затем переключается обратно в пользовательский режим.