Respuestas cortas:
- No, no es un proceso.
- Los hilos de usuario no están enraizados en init.
Init es solo el primer proceso; no gestiona ningún proceso o subproceso. Crea algunos, usando el kernel syscalls fork () y exec.
Creo que tienes una idea turbia de lo que es un proceso. no solo significa un poco de código de ejecución. Sí, el núcleo se ejecuta antes de init (y el gestor de arranque incluso antes). Pero un "proceso" tiene una definición específica de:
- Se ejecuta en el espacio del usuario.
- Se ejecuta con una ID de proceso
- Muchas interacciones deben pasar por el núcleo
- Todos los recursos deben provenir del núcleo
- Necesita ser programado por el núcleo
Entonces, una vez que el núcleo se inicializa, ejecuta init, que luego genera cualquier otro proceso que su configuración le indique.
En lo que respecta al # 2, todas las cosas del núcleo están, bueno, en el núcleo. Piense en el núcleo como una gran área de código. De nuevo, no es un proceso, sino un gran blob de código. Partes del núcleo se ocupan de la gestión de la memoria, partes del mismo con partes de programación de sí mismo (como controladores, etc.), y partes del mismo con procesos de planificación.