Системные процессы в Unix - PullRequest
       11

Системные процессы в Unix

1 голос
/ 28 августа 2009

В одной книге по программированию в Unix написано

Процесс инициализации никогда не умирает. Это обычный пользовательский процесс, а не системный процесс в ядре, такой как swapper, хотя он работает с привилегиями суперпользователя.

Что делает процесс системным процессом? Встроен ли системный процесс в код ядра? Все системные процессы работают с привилегиями суперпользователя?

Ответы [ 2 ]

2 голосов
/ 28 августа 2009

Книга, вероятно, относится к процессам, которые полностью работают в режиме ядра. В некоторых версиях Unix нет никакого реального исполняемого файла, который реализует этот процесс - ядро ​​«подделывает» запись в списке процессов (и / или потоков), просто так, что у него есть что-то для планирования и что-то для учета ЦП. время. В других реализациях является исполняемым файлом, но это вызывает один системный вызов, который никогда не возвращается.

IOW, это ваша первая интерпретация («встроенная в код ядра»).

0 голосов
/ 01 сентября 2009

Я думаю, что существует путаница между процессом в режиме ядра и процессом с привилегиями суперпользователя.

Книга, вероятно, хочет сказать, что init не работает в режиме ядра, но все еще работает с привилегиями супер-администратора. Я надеюсь, что я прав.

Существует два вида режимов - режим пользователя и режим ядра. Все виды системных вызовов выполняются в режиме ядра, чтобы у них был доступ к функциям операционной системы.

Подробнее о Защищенный режим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...