Quand la plupart des processus ont été exécutés en tant qu'enfant de launchd
au lieu du pid du noyau ?
Réponse
Trop de publicités?MacOS est issu de la tradition Unix des systèmes d'exploitation. Ici, les processus sont disposés en arbre, c'est-à-dire une hiérarchie avec des processus parents et enfants.
Il en découle qu'il doit y avoir un processus racine à partir duquel les autres processus sont créés. Ce processus sur les MacOS modernes est launchd.
Sur les versions antérieures de OS X, un processus nommé initd prenait la place de launchd. Launchd est essentiellement un remplacement moderne et un sur-ensemble d'initd.
Il n'y a pas d'"offre" inhérente à avoir launchd comme processus parent.
La raison pour laquelle il ne s'agit pas, par exemple, de kernel_task est qu'il s'agit de calculs effectués en mode noyau, c'est-à-dire en mode privilégié sur l'unité centrale.
Launchd est le premier processus en mode utilisateur lancé par le noyau lorsque le système démarre. Le mode utilisateur signifie qu'il est moins privilégié que le mode noyau. Launchd s'occupe ensuite de lancer le reste des processus nécessaires pour que le système fonctionne et soit utilisable.