Un programme (code et données) est un élément statique qui prend un caractère dynamique lors de son exécution. La tâche correspondante, appelée « processus », se déroule avec une évolution (différents états) et des interactions avec d’autres éléments gérés par le système d’exploitation (ressources, processus...).

Un processus est identifié par un numéro unique appelé PID pour Process Identifier. Chaque processus possède, au moment de sa création, un propriétaire, un processus parent et un terminal d’attache permettant d’effectuer les entrées/sorties. Ces caractéristiques sont statiques, c’est-à-dire qu’elles ne changeront pas tout au cours de la vie du processus. Le propriétaire du processus permettra de déterminer les droits du processus en matière d’accès aux ressources. Par exemple, un processus vous appartenant ne peut pas, par défaut, créer un fichier dans le répertoire d’un de vos collègues. En outre, un processus a des limites d’utilisation de certaines ressources, par exemple le nombre de fichiers en cours d’accès. Enfin, chaque processus possède un processus parent dont il hérite certaines caractéristiques. Nous voyons l’arborescence des processus à la page suivante.

Au cours de la vie du processus, certaines caractéristiques changent. La première caractéristique dynamique est la priorité du processus. Nous avons vu à la section 3 que, dans un système multitâche, plusieurs processus se partagent l’accès à l’unité centrale, le système d’exploitation attribuant tour à tour l’unité centrale aux processus. L’ordonnancement des processus permettant de déterminer le prochain à être exécuté n’est pas simple. La priorité, représentée par un nombre, est un élément permettant de le déterminer. Le processus connaît le répertoire courant dans lequel il s’exécute ainsi que la quantité de ressources consommées.  
 
Retour à la page de cours