Process control block
# Process control block

En informatique, un bloc de contrôle de processus ou PCB (de l'anglais process control block) est une structure de données du noyau d'un système d'exploitation représentant l'état d'un processus donné.

Diverses implémentations existent selon les systèmes d'exploitation, mais un PCB contient en général :

* L'ID du processus (PID), l'ID du processus parent (PPID) et l'ID de l'utilisateur du processus (UID) ;
* Les valeurs des registres correspondant au processus (l'état courant du processus, selon qu'il est élu, prêt ou bloqué) ;
* Le compteur ordinal du processus ;
* Le pointeur de pile : indique la position du prochain emplacement disponible dans la pile mémoire ;
* L'espace d'adressage du processus ;
* La liste des descripteurs de fichiers ;
* La liste de gestion des signaux ;
* D'autres informations telles que le temps CPU accumulé par le processus, etc.

Lors d'un changement de contexte, le processus en cours est arrêté et un autre processus peut utiliser le CPU. Le noyau doit arrêter l'exécution du processus en cours, copier les valeurs des registres hardware dans le PCB, et mettre à jour les registres avec les valeurs du nouveau processus.

