Opérations sur un processus
Les systèmes d'exploitation qui gèrent des processus doivent faire la plupart des opérations suivantes :
-
créer un processus.
Le processus créateur est appelé le père, le processus créé est appelé le fils.
Il n'y a besoin que d'un seul processus parent.
Parfois tout processus peut lui-même créer des processus fils (fonction système fork() d'Unix).
Un tel mécanisme conduit à une arborescence :

Dans d'autres systèmes, c'est un processus particulier qui est chargé de créer tous les autres.
-
détruire un processus.
Cette opération consiste à le supprimer de toutes les tables su système, d'effacer son PCB, de libérer ses ressources, et éventuellement de mettre à jour sa descendance (fonction système kill() d'Unix, avec le signal 9 envoyé au processus devant être détruit, simule cette destruction.
En réalité, il s'agit seulement pour le processus "tueur" de demander au processus cible de se suicider),
-
suspendre un processus.
Cette transition qui conduit le processus à l'état d'attente peut être obtenue de nombreuses façons.
En général, les mécanismes de synchronisation (sémaphores, moniteurs, etc...) peuvent suspendre les processus concernés.
De plus, un processus peut lui-même suspendre ses propres activités (fonction système wait() d'Unix).
Enfin, dans les systèmes qui accordent un quantum de temps à l'exécution d'un processus, le traitant d'interruption de l'horloge peut lui-même suspendre le processus interrompu.
La suspension d'un processus est très simple, puisqu'il suffit d'une commutation de contexte pour que le processus soit chassé du processeur;
-
relancer (ou réactiver) un processus.
Cette opération est en général effectuée par le scheduler et l'allocateur de processeur.
Il s'agit seulement de déterminer dans la file des processus en attente, celui qui a la priorité maximale à cet instant-là;
-
changer la priorité d'un processus,
-
bloquer un processus,
-
réveiller un processus (fonction kill() d'Unix, ainsi que certains autres événements comme la fin d'un processus fils).
Dernière mise à jour : 02/07/2001