Le système d'exploitation
Gestion des processus
Généralités
Définition
Un processus est un ensemble d'instructions en cours de traitement par le système d'exploitation.
Propriétés d'un processus
Un processus peut être démarré par l'utilisateur ou par un autre processus.
Un processus dispose : d'un espace mémoire dédié, de droits d'accès aux entrées-sorties...
Le système d'exploitation mémorise, pour chaque processus, un ensemble d'informations appelé PCB (en anglais Process Control Bloc) :
- - un identifiant unique appelé PID (Process Identifier) ;
- - l'état du processus (voir ci-dessous) ;
- - d'autres informations liées aux mémoires et ressources utilisées par le processus.
Différence entre programme et processus
En toute rigueur, le mot programme (ou exécutable) fait référence à un fichier stocké en mémoire contenant du code directement exploitable par le système d'exploitation.
Le mot processus fait référence à l'exécution de ce code.
Lorsqu'on exécute un programme, plusieurs processus peuvent être lancés.
Ordonnancement des processus
Nouveau processus
Lorsqu'un nouveau processus est lancé, le système d'exploitation :
- - copie le code en mémoire vive ;
- - initialise son PCB ;
- - place le processus dans la file des processus prêts.
Ordonnancement des processus
A intervalle de temps réguliers, l'ordonnanceur :
- - interrompt le processus en cours d'exécution, mémorise son PCB, enfile le processus dans la file des processus prêts ;
- - défile le processus suivant de la file des processus prêts, récupère les données de son PCB et relance son exécution.
Mise en sommeil (en attente) des processus
Lors de l'exécution, si un processus est en attente d'un évènement (par exemple une saisie au clavier), le système d'exploitation mémorise le PCB du processus et place le processus "en attente" (on dit également en sommeil pour l'anglais sleeping).
Dès que l'évènement attendu se produit, le processus est remis dans la file des processus prêts.