3 votos

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

Cuando la mayoría de los procesos se ejecutan como un hijo de launchd en lugar del pid del kernel?

0 votos

Publicado apple.stackexchange.com/questions/329625/ . Incluso podría ser un duplicado, si alguien está dispuesto a proporcionar una respuesta más elaborada que describa cómo se crean los procesos iniciales en el arranque.

1 votos

Esto puede ser una buena lectura: Proceso de arranque de Apple

4voto

Jose Chavez Puntos 645

MacOS procede de la tradición de los sistemas operativos Unix. Aquí los procesos se organizan en un árbol, es decir, una jerarquía con procesos padres e hijos.

De esto se deduce que debe haber un proceso root desde el que se generen otros procesos. Este proceso en los MacOS modernos es launchd.

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

No hay ninguna "oferta" inherente en tener a launchd como su proceso padre.

La razón por la que no es, por ejemplo, kernel_task es que representa el cálculo que ocurre en el modo kernel, es decir, un modo privilegiado en la CPU.

Launchd es el primer proceso en modo usuario iniciado por el kernel cuando el sistema arranca. Modo usuario significa que tiene menos privilegios que el modo kernel. Launchd se encarga de iniciar el resto de los procesos necesarios para que el sistema funcione y sea utilizable.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X