Article de reference

Bloc de contrôle de processus

Un bloc de contrôle de processus ( PCB ), également parfois appelé descripteur de processus , est une structure de données utilisée par un système d'exploitation informatique po...

Un bloc de contrôle de processus ( PCB ), également parfois appelé descripteur de processus , est une structure de données utilisée par un système d'exploitation informatique pour stocker toutes les informations sur un processus .

Lorsqu'un processus est créé (initialisé ou installé), le système d'exploitation crée un bloc de contrôle de processus correspondant, qui spécifie et suit l'état du processus (c'est-à-dire nouveau, prêt, en cours d'exécution, en attente ou terminé). Étant donné qu'il est utilisé pour suivre les informations de processus, le PCB joue un rôle clé dans le changement de contexte .

Un noyau de système d'exploitation stocke les PCB dans une table de processus.

Le répertoire de travail actuel d'un processus est l'une des propriétés que le noyau stocke dans le PCB du processus.

Rôle

Le rôle des PCB est central dans la gestion des processus : ils sont consultés et/ou modifiés par la plupart des services publics, en particulier ceux impliqués dans la planification et la gestion des ressources.

Structure

Dans les systèmes d'exploitation multitâches , le PCB stocke les données nécessaires à une gestion correcte et efficace des processus. Bien que les détails de ces structures dépendent du système, les éléments communs se répartissent en trois catégories principales :

  • Identification du processus
  • État du processus
  • Contrôle des processus

Des tables d'état existent pour chaque entité concernée, comme la description de la mémoire, des périphériques d'E/S, des fichiers et des processus.

Les tables de mémoire, par exemple, contiennent des informations sur l'allocation de la mémoire principale et secondaire (virtuelle) pour chaque processus, les attributs d'autorisation pour accéder aux zones de mémoire partagées entre différents processus, etc. Les tables d'E/S peuvent contenir des entrées indiquant la disponibilité d'un périphérique ou son affectation à un processus, l'état des opérations d'E/S, l'emplacement des tampons de mémoire utilisés pour celles-ci, etc.

Les données d'identification de processus incluent un identifiant unique pour le processus (presque invariablement un entier) et, dans un système multi-utilisateur-multitâche, des données telles que l'identifiant du processus parent, l'identifiant de l'utilisateur, l'identifiant du groupe d'utilisateurs, etc. L'identifiant du processus est particulièrement pertinent car il est souvent utilisé pour référencer les tables définies ci-dessus, par exemple pour montrer quel processus utilise quels périphériques d'E/S ou zones de mémoire.

Les données d'état du processus définissent l'état d'un processus lorsqu'il est suspendu, ce qui permet au système d'exploitation de le redémarrer ultérieurement. Cela inclut toujours le contenu des registres CPU à usage général, le mot d'état du processus CPU, les pointeurs de pile et de trame, etc. Pendant le changement de contexte , le processus en cours d'exécution est arrêté et un autre processus s'exécute. Le noyau doit arrêter l'exécution du processus en cours d'exécution, copier les valeurs des registres matériels sur son PCB et mettre à jour les registres matériels avec les valeurs du PCB du nouveau processus.

Les informations de contrôle de processus sont utilisées par le système d'exploitation pour gérer le processus lui-même. Cela comprend :

  • État de planification du processus – L'état du processus en termes de « prêt », « suspendu », etc., ainsi que d'autres informations de planification, telles que la valeur de priorité, le temps écoulé depuis que le processus a pris le contrôle du processeur ou depuis qu'il a été suspendu. De plus, dans le cas d'un processus suspendu, les données d'identification d'événement doivent être enregistrées pour l'événement que le processus attend ;
  • Informations de structuration du processus : identifiants des enfants du processus ou identifiants d'autres processus liés au processus actuel d'une manière fonctionnelle, qui peuvent être représentés sous la forme d'une file d'attente, d'un anneau ou d'autres structures de données ;
  • Informations de communication interprocessus – indicateurs, signaux et messages associés à la communication entre des processus indépendants ;
  • Privilèges de processus – accès autorisé/interdit aux ressources système ;
  • État du processus – nouveau, prêt, en cours d’exécution, en attente, mort ;
  • Numéro de processus (PID) – numéro d’identification unique pour chaque processus (également appelé ID de processus ) ;
  • Compteur de programme (PC) – un pointeur vers l’adresse de la prochaine instruction à exécuter pour ce processus ;
  • Registres du processeur – ensemble de registres dans lesquels le processus doit être stocké pour l’exécution de l’état en cours d’exécution ;
  • Informations de planification du processeur – informations sur la planification du temps processeur ;
  • Informations sur la gestion de la mémoire – table des pages, limites de mémoire, table des segments ;
  • Informations comptables – quantité de CPU utilisée pour l’exécution du processus, délais, ID d’exécution, etc.
  • Informations sur l’état des E/S – liste des périphériques d’E/S alloués au processus.

Emplacement

Le PCB doit être conservé dans une zone de mémoire protégée de l'accès normal aux processus. Dans certains systèmes d'exploitation, le PCB est placé au bas de la pile de processus .

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index