Vous êtes sur la page 1sur 5

13/10/2021

53 54

Présentation de Processus
Chapitre 3. Gestion des Processus
• Chaine de production de programme exécutable
Plan ▫ Transforme un programme écrit en un langage de
programmation en un programme exécutable, écrit en
 Présentation de processus langage machine.
 Les modèles à états d’un processus ▫ Transformation sur plusieurs étapes:
 Process Control Block (PCB)
 Saisie du programme à l’aide d’un éditeur de texte
 Modes d’exécution et commutation de contexte
 fichier source
 Les threads (processus légers)
 Compilation du programme
 Ordonnancement
 fichier objet
 Programmation système des processus sous UNIX
 Edition des liens
 fichier exécutable

55 56

Présentation de Processus Présentation de Processus

• Quand l’utilisateur demande d’exécuter son • Exécution d’un programme par le processeur
programme, le fichier exécutable est chargé en ▫ L’instruction en cours d’exécution est chargé dans le
mémoire registre d’instruction (RI).
▫ Le compteur ordinal contient l’adresse de la prochaine
▫ Le SE alloue de la place en mémoire, le processus instruction à exécuter
occupe trois segments: ▫ Le processus exécute l’instruction et mise à jour du
 Segment code: instructions du programme à exécuter registre d’état.
 Segment de données: variables du programmes ▫ Chargement de la prochaine instruction à exécuter dans
 Pile d’exécution: appels de fonctions avec leurs le RI
paramètres et variables locales. ▫ Le compteur ordinal pointe sur l’instruction suivante
▫…

1
13/10/2021

57 58

Présentation de Processus Présentation de Processus

• A chaque étape d’exécution du programme , le • Un processus est un programme en cours d'exécution


contenu des registres évolue. auquel est associé un environnement processeur et un
• Le contenu de la mémoire centrale peut être aussi environnement mémoire appelés contexte du processus.
modifié (ex. modification des données par une
instruction d’affectation). • Un processus est l'instance dynamique d'un
• Processus: image de l’état du processeur et de la programme et incarne le fil d'exécution de celui-ci dans
mémoire au cours de l’exécution du programme. un espace d'adressage protégé (objets propres :
• Le programme est statique, le processus représente la ensemble des instructions et données accessibles)
dynamique de son exécution.

59 60

États du Processus États du Processus

• Lorsque le processus s’exécute, il change d’état. Il • Initialement, le processus est à l’état prêt.
peut se trouver dans l’un des trois états principaux • Il passe à l’état exécution quand le processeur entame
son exécution.
▫ Elu: en cours d’exécution • Il passe de l’état exécution à l’état prêt lorsqu’il est
suspendu provisoirement (i.e. préemption) pour
exécuter un autre processus
▫ Prêt: en attente du processeur
• Il passe de l’état exécution à l’état bloqué s’il ne peut
pas suivre son exécution (attente d’une E/S).
▫ Bloqué: en attente d’un événement ▫ Il se met en attente d’un événement (fin de l’E/S)
▫ Une fois l’événement est survenu, le processus passe à
l’état prêt.

2
13/10/2021

61 62

États du Processus États du Processus

• Le modèle à trois états est complété par un deux états


Suspension
supplémentaires: Nouveau et Fin

▫ Nouveau: indique la création du processus

▫ Fin: indique la terminaison du processus

Etats principaux d’un processus


(Modèle à trois états)

63 64

États du Processus Bloc de Contrôle de Processus

• Pour gérer les processus, le système d’exploitation


Suspension
sauvegarde plusieurs informations dans des structures
de données.
▫ Il existe une table pour contenir les informations
concernant tous les processus créés.

• Cette table est appelée le Bloc de Contrôle de


Processus (PCB)

Modèle à cinq états du processus

3
13/10/2021

65 66

Bloc de Contrôle de Processus Bloc de Contrôle de Processus


• En général, le PCB comporte les informations suivantes: • En général, le PCB comporte les informations
▫ un identificateur unique du processus (un entier) : le PID
suivantes:
▫ l'état courant du processus (élu, prêt, bloqué) ▫ un identificateur unique du processus (un entier) : le PID
▫ le contexte processeur du processus : la valeur du CO, la valeur des ▫ l'état courant du processus (élu, prêt, bloqué)
autres registres du processeur
▫ le contexte mémoire : ce sont des informations mémoire qui ▫ le contexte processeur du processus : la valeur du CO, la
permettent de trouver le code et les données du processus en valeur des autres registres du processeur
mémoire centrale ▫ le contexte mémoire : ce sont des informations mémoire qui
▫ des informations diverses de comptabilisation pour les statistiques
sur les performances système permettent de trouver le code et les données du processus en
▫ des informations liées à l' ordonnancement du processus. Le PCB mémoire centrale
permet la sauvegarde et la restauration du contexte mémoire et du ▫ des informations diverses de comptabilisation pour les
contexte processeur lors des opérations de commutations de
contexte . statistiques sur les performances système
▫ des informations liées à l' ordonnancement du processus.

67 68

Bloc de Contrôle de Processus Mode d’exécution et commutation de contexte

• Table des Processus PCB1


Pourquoi a-t-on besoin du PCB?

Table des Processus • Dans un système multiprogrammé, on a besoin de


redonner le contrôle du CPU à un autre processus. Il
PCB1
faut donc mémoriser toutes les informations
PCB2
nécessaires pour pouvoir éventuellement relancer le
processus courant dans le même état.
PCBn
 Commutation de contexte entre processus

4
13/10/2021

69 70

Mode d’exécution et commutation de contexte Mode d’exécution et commutation de contexte

Modes d’exécution Commutation de Contexte entre processus


• Deux modes d’exécution d’un programme utilisateur: • On parle de commutation de contexte quand on
▫ Mode noyau (superviseur): mode privilégié, le noyau peut suspend l’exécution du processus en cours et on alloue
utiliser tous les instructions du processeurs, manipuler toute la le processeur à un autre processus
mémoire et dialoguer directement avec les périphériques
▫ Mode utilisateur: dans ce mode, le programme ne peut • La commutation de contexte est l’opération de:
accéder qu’à une partie restreinte de la mémoire, certaines 1. Sauvegarde du contexte du processus en cours
instructions lui sont interdites, ne peut pas interagir
directement avec les périphériques d’exécution
• Comment passer du mode utilisateur au mode noyau?  Valeur de CO, sauvegarde du registre d’état PSW, …
▫ Appel système 2. Restauration du contexte d’exécution du processus
▫ Exécution d’opération illicite (ex. division par zéro) suivant
▫ Interruption (réception d’un signal)
 Chargement de CO, chargement du PSW, …

71

Mode d’exécution et commutation de contexte

• Changement de contexte entre deux processus utilisateurs

Le commutation de contexte se
fait en mode noyau (kernel)

Vous aimerez peut-être aussi