Non le noyau n'a pas de PID car par définition ce n'est pas un processus. Certaines tâches du noyau peuvent être exécutées avec des threads ayant un PID mais cela ne concerne pas le cœur du noyau dont fait parti l'ordonnanceur.
Dans ce contexte le noyau a toujours la main de temps en temps. En effet, pour diverses raisons le processeur reçoit ou génère des interruptions que le noyau doit traiter (paquet réseau reçu, touche du clavier saisie, fichiers venant du disque dur reçu, etc.). Cela appelle automatiquement des fonctions du noyau (via le vecteur d'interruptions) qui les traite.
Même dans le cadre d'un ordonnancement FIFO, le noyau se réveille de temps en temps pour vérifier qu'il n'y a rien à faire, mais aussi pour vérifier si le processus en cours d'exécution est bien celui qui doit être exécuté maintenant. Car si par exemple un processus avec une priorité plus haute est disponible, il doit remplacer celui en cours d'exécution par exemple.
Et en l’occurrence le noyau traite les signaux ou les alarmes à destination de ton processus.
[^] # Re: preempt
Posté par Renault (site web personnel) . En réponse au message SCHED_FIFO et signal alarme. Évalué à 4.
Non le noyau n'a pas de PID car par définition ce n'est pas un processus. Certaines tâches du noyau peuvent être exécutées avec des threads ayant un PID mais cela ne concerne pas le cœur du noyau dont fait parti l'ordonnanceur.
Dans ce contexte le noyau a toujours la main de temps en temps. En effet, pour diverses raisons le processeur reçoit ou génère des interruptions que le noyau doit traiter (paquet réseau reçu, touche du clavier saisie, fichiers venant du disque dur reçu, etc.). Cela appelle automatiquement des fonctions du noyau (via le vecteur d'interruptions) qui les traite.
Même dans le cadre d'un ordonnancement FIFO, le noyau se réveille de temps en temps pour vérifier qu'il n'y a rien à faire, mais aussi pour vérifier si le processus en cours d'exécution est bien celui qui doit être exécuté maintenant. Car si par exemple un processus avec une priorité plus haute est disponible, il doit remplacer celui en cours d'exécution par exemple.
Et en l’occurrence le noyau traite les signaux ou les alarmes à destination de ton processus.