Короткие ответы:
- Нет, это не процесс
- Пользовательские потоки не имеют прав в init.
Init - это только первый процесс; он не управляет никакими процессами или потоками. Он создает некоторые, используя syscalls ядра fork() и exec.
Я думаю, что у вас есть грязное представление о том, что такое процесс. это не просто означает выполнение кода. Да, ядро выполняется до init (и даже до этого загрузчик). Но «процесс» имеет конкретное определение:
- Работает в пространстве пользователя
- Запускается с идентификатором процесса
- Многие взаимодействия должны проходить через ядро
- Все ресурсы должны прийти из ядра
- Должен быть запланирован ядром
Итак, как только ядро инициализируется, оно запускает init, который затем порождает любые другие процессы, о которых говорит его конфигурация.
Что касается # 2, все ядро находится в ядре. Думайте о ядре как о большой области кода. Опять же, не процесс, а большой блок кода. Части ядра имеют дело с управлением памятью, его части - с частями планирования (такими как драйверы и т.д.), А некоторые - с процессами планирования.