Processus (informatique) - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

États d'un processus

Les états successifs d'un processus sont généralement représentées par un diagramme d'état.

Observabilité

L'utilisation de diagrammes d'état est dû au fait qu'un processus n'est cohérent, de l'extérieur, qu'à certains moment de son exécution, notamment en dehors des sections critiques. En pratique, on observe l'état d'un processus en communiquant avec lui ; il fournit ainsi une réponse au moment où il est cohérent.

Prenons un exemple ; soit la suite d'instruction pseudo-code appartenant à un programme quelconque :

      procédure empiler (v: valeur)          compteur:= compteur+1          vect[compteur]:= v      

Le programme utilisant cette fonction n'est observable qu'avant ou après un appel à la fonction empiler() car, entre les instructions d'incrémentation et d'affectation, la cellule numéro compteur du tableau vect[] n'est pas affectée et contient... une valeur aléatoire (une mémoire est rarement vide).

États que peut prendre un processus sous la forme d'un diagramme états-transitions où les flèches sont les transitions autorisées.
Diagramme état-transition plus complexe suivi par les processus des systèmes d'exploitation modernes

États standards

Ces états existent dans la plupart des systèmes d'exploitation :

  • Initialisation (en anglais, created ou new) :
C'est le premier état d'un processus. Il y attend que l'ordonnanceur le place dans l'état prêt, ce qui peut prendre plus ou moins longtemps. Généralement, dans les ordinateur de bureau, cela est automatique ; dans un système d'exploitation temps réel, cette admission peut-être reportée. En effet, dans de tels systèmes, trop de processus en attente peuvent amenés à une saturation, notamment des bus, entraînant l'incapacité du système à tenir les délais.
  • Prêt ou En attente (en anglais, ready, waiting ou runnable) :
Dans cet état, le processus a été chargé en mémoire centrale et attent son exécution sur le processeur, ie une commutation de contexte provoquée par l'ordonnanceur.
Il peut y avoir beaucoup de processus en attente car, sur un ordinateur équipé d'un seul processeur, les processus doivent passer un par un. Les processus disponibles sont rangés dans une file ; les autres, ceux qui attendent quelques chose (données provenant du disque dur, une connexion internet, etc.) ne sont pas pris en compte. Cette file d'attente (ready queue) est gérée par l'ordonnanceur.
  • Élu ou Exécution (en anglais, running) :
Le processus est en cours d'exécution par le processeur.
  • Endormi ou Bloqué (en anglais, blocked) :
Le processus a été interrompu ou attend un événement (la fin d'une opération d'entrée/sortie, un signal, ...).
  • Terminé (en anglais, terminated) :
Le processus est terminé, c'est-à-dire soit le résultat est connu, soit le programme a été forcé de s'arrêter.

États particuliers

Selon les systèmes d'exploitation, ces différents états peuvent aussi être possible :

  • Zombie :
Si un processus terminé ne peut pas être déchargé de la mémoire, par exemple, si un de ces fils n'est pas terminé, il passe dans un état appelé zombie.
  • Swappé :
Lorsque qu'un processus est transféré de la mémoire centrale dans la mémoire virtuelle, il est dit « swappé ». Un processus swappé peut être dans un état endormi ou prêt.
  • Préempté :
L'ordonnanceur a décidé de suspendre l'activité d'un processus. Par exemple, un processus qui consomme trop de temps CPU finira par être préempté. Un ordonnanceur préemptif utilise aussi l'indice de priorité (nice (Unix)) pour décider le processus qui sera préempté.
  • Exécution en espace utilisateur :
L'exécution a lieu dans un espace limité : seul certaines instructions sont disponibles.
  • Exécution en espace noyau :
Par opposition au mode utilisateur, l'exécution du processus n'est pas limité. Par exemple, un processus dans cet état peut aller lire dans la mémoire d'un autre.
Page générée en 0.104 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise