¿Por qué la mayoría de los procesos se ejecutan como hijos de launchd?

3

¿Cuándo se ejecutaron la mayoría de los procesos como un elemento secundario de launchd en lugar del kernel pid?

    
pregunta craig 14.12.2018 - 15:39

1 respuesta

4

macOS proviene de la tradición de Unix de los sistemas operativos. Aquí los procesos se organizan en un árbol, es decir, una jerarquía con procesos primarios y secundarios.

De esto se deduce que la mayoría es un proceso raíz a partir del cual se generan otros procesos. Este proceso en macOS moderno es launchd.

En versiones anteriores de OS X, un proceso llamado initd tomó el lugar de launchd. Launchd es esencialmente un moderno reemplazo y superconjunto de initd.

No hay una "oferta" inherente al tener launchd como su proceso principal.

La razón por la que no es, por ejemplo, kernel_task es que significa computación que ocurre en modo kernel, es decir, un modo privilegiado en la CPU.

Launchd es el primer proceso de modo de usuario iniciado por el kernel cuando se inicia el sistema. Modo de usuario significa que tiene menos privilegios que el modo de núcleo. Luego, Launchd se encarga de iniciar el resto de los procesos necesarios para tener un sistema funcional que funcione.

    
respondido por el jksoegaard 14.12.2018 - 19:23

Lea otras preguntas en las etiquetas