2010-03-12 9 views
4

Le planificateur de noyau Linux fait-il partie du processus init? Ma compréhension est que cela fait partie des threads du noyau gérés en interne non visible par l'utilisateur par top ou ps. S'il vous plaît corriger ma compréhension.Linux Kernel Threads - scheduler

Est-il possible d'afficher les threads noyau standard à travers n'importe quel débogueur de noyau pour voir comment les threads standard occupent l'activité cpu?

-Kartlee

Répondre

6

threads noyau peuvent être vus à travers « haut » et « ps » et peuvent être distingués en ayant une taille de zéro VM (ils ont pas d'espace utilisateur, donc pas de carte de mémoire de l'espace utilisateur).

Ils sont créés par kernel_thread (ou ses amis). Certaines installations créent un thread par CPU et l'attachent à un CPU, de sorte que vous voyez des choses comme aio/0 aio/1 sur la liste PS.

De plus, certains travaux sont exécutés par le biais de plusieurs mécanismes d'exécution différés et sont attribués à d'autres tâches, typiquement quelque chose appelé "events/0" (un par CPU). Le temps passé "vraiment" dans les interruptions n'est compté nulle part (il court juste au détriment de n'importe quelle tâche se trouvant sur ce processeur à ce moment-là).

+1

Il convient également de souligner que la grande majorité du code du noyau, y compris le planificateur, s'exécute dans le contexte des processus normaux. De cette façon, une grande partie du noyau agit un peu comme une bibliothèque, plutôt qu'un processus distinct à part entière. – caf

+0

Le pid 0 appartient à schedular alors que PID 1 est pour le processus init. – Tejas

1

1) Le planificateur Linux Kernel fait-il partie du processus init?

-> non, le planificateur est un sous-système, le processus init est juste un processus mais spécial et est planifié par le planificateur.

2) Ma compréhension est que cela fait partie des threads du noyau gérés en interne non visibles par l'utilisateur par top ou ps. S'il vous plaît corriger ma compréhension.

-> C'est un type de thread du noyau et n'est généralement pas montré à l'utilisateur.

3) Est-il possible de voir les threads noyau standard à travers n'importe quel débogueur noyau pour voir comment les threads standard occupent l'activité cpu?

-> oui!

Questions connexes