Objectif : Distinguer programme / processus, décrire les états d’un processus, expliquer le rôle du PCB et de l'ordonnanceur, et citer quelques politiques simples d’ordonnancement.

1. Fichier, programme, processus

Un fichier est une donnée stockée sur un support (disque, SSD, clé USB…). Certains fichiers contiennent du code exécutable : ce sont des programmes.

Tant qu’un programme n’est pas lancé, il reste un fichier « inerte ». Lorsqu’il est chargé en mémoire et exécuté par le système d’exploitation, il devient un processus.

Exemple : /bin/ls est un programme sur le disque. Quand l'on tape ls dans le terminal, le système crée un processus qui exécute ce programme.

Définition :
Un processus est un programme en cours d’exécution auquel le système d’exploitation associe un contexte processeur (compteur ordinal, registres, indicateurs d’état, pointeur de pile…) et un contexte mémoire (zone de code, zone de données, pile).
L’ensemble forme ce qu’on appelle le contexte du processus.
Chaque processus dispose d’un espace d’adressage propre, isolé des autres processus : il s’agit d’une plage mémoire dont il est le seul à pouvoir accéder. Ce mécanisme assure la protection et empêche un processus d’altérer la mémoire d’un autre.
Du point de vue conceptuel, chaque processus se comporte comme s’il possédait son propre processeur virtuel : le système sauvegarde et restaure son contexte à chaque commutation, donnant l’illusion d’une exécution continue.

2. Contexte et PCB (Process Control Block)

Pour pouvoir arrêter puis reprendre un processus, le système d’exploitation doit mémoriser son contexte.

Toutes ces informations sont stockées dans une structure de données appelée PCB (Process Control Block).

Un PCB contient :

Lors d’un changement de processus (commutation de contexte), le système sauvegarde le contexte de l’ancien processus dans son PCB, puis restaure le contexte du nouveau processus élu.

3. États d’un processus

Un processus peut se trouver dans l’un des états suivants :

On associe quelques opérations importantes :

États d’un processus
États d’un processus

Remarques : un processus est généralement créé dans l’état prêt, et ne se termine qu’à partir de l’état élu (sauf anomalie).

4. Création et fin d’un processus

4.1. Création de processus

Quelques situations typiques où un nouveau processus est créé :

4.2. Fin d’un processus

Un processus peut se terminer parce que :

5. Ordonnancement des processus

À un instant donné, plusieurs processus peuvent être dans l’état prêt. Le rôle de l’ ordonnanceur (scheduler) est de choisir lequel sera élu pour utiliser le processeur, et pour quelle durée.

5.1. Préemptif ou non préemptif

5.2. Quelques politiques classiques