Page préc.
Rupture de séquence de l'exécution séquentielle d'un programme
Fin de page Page suiv.
Opérations sur un processus

Etats d'un processus et changements d'état

    Ce paragraphe n'a de sens que dans un contexte de multitraitement. Les différents états classiques d'un processus et les transitions possibles sont résumés par le schéma suivant :

    L'état actif correspond à un processus auquel a été attribué le processeur. S'il nécessite une E/S sur un terminal, il n'a plus besoin du processeur. Il est mis en état bloqué jusqu'à ce que le terminal le débloque. Il en est de même s'il communique avec d'autres processus et s'il est en attente d'information ou de synchronisation avec un autre processus. Son exécution pourrait reprendre mais le processeur n'est probablement plus disponible. Le processeur passe donc dans l'état d'attente. De plus, un processus actif peut passer directement dans l'état d'attente s'il a consommé le quantum de temps qui lui a été alloué. Sous Linux, l'ordonnanceur (scheduler) accorde environ 1/60ème de seconde à chaque processus (voir [Ray01] - § 7. "How does my computer do several things at once?").

    Les états de vidé et de chargeable ne sont à prendre en compte que si le système a la possibilité de décharger sur disque des processus bloqués depuis assez longtemps, pour libérer de la mémoire pour d'autres processus. Ainsi, si un processus vidé reçoit finalement l'événement qui l'a mis en état bloqué, il doit d'abord être rechargé en mémoire avant de pouvoir être relancé. Il devient donc chargeable.


Page préc.
Rupture de séquence de l'exécution séquentielle d'un programme
Début de page Page suiv.
Opérations sur un processus
Dernière mise à jour : 02/07/2001