Ядро Linux (Unix, BSD, MacOS X, ...) действует как «диспетчер».Он решает, какой процесс должен быть запущен следующим, корректируя приоритеты и статус процессов, и гарантирует, что выбранный процесс не будет работать дольше, чем его квант времени (до того, как ядро сможет контролировать, какой процесс выполняется следующим снова).Ядро использует упреждающее планирование (а не совместное планирование).Он категорически не работает в контексте пользовательской программы;он работает в контексте ядра.
Вы можете обсудить, является ли ядро отдельным процессом.Это, конечно, не часть вашего пользовательского процесса, поэтому он отдельный;вопрос в том, действительно ли это процесс.Однако это несколько философский вопрос, и он на самом деле не влияет на вас - есть отдельная часть системы, которая контролирует планирование и распределение процессов.