0% ont trouvé ce document utile (0 vote)
15 vues24 pages

Gestion des processus en systèmes d'exploitation

Le chapitre 3 traite des processus dans les systèmes d'exploitation, y compris leur création, terminaison, hiérarchie et états. Il explique le rôle de l'ordonnanceur dans la gestion des processus et décrit le bloc de contrôle de processus (PCB) qui stocke les informations nécessaires pour la commutation de contexte. Les transitions entre les différents états des processus sont également abordées, soulignant l'importance de la sauvegarde des informations lors de la commutation de processeur.

Transféré par

ayman.kassab123
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
15 vues24 pages

Gestion des processus en systèmes d'exploitation

Le chapitre 3 traite des processus dans les systèmes d'exploitation, y compris leur création, terminaison, hiérarchie et états. Il explique le rôle de l'ordonnanceur dans la gestion des processus et décrit le bloc de contrôle de processus (PCB) qui stocke les informations nécessaires pour la commutation de contexte. Les transitions entre les différents états des processus sont également abordées, soulignant l'importance de la sauvegarde des informations lors de la commutation de processeur.

Transféré par

ayman.kassab123
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 3 :

Processus
Plan
 Introduction
 Modèle de processus
 Création d’un processus
 Terminaison d’un processus
 Hiérarchie de processus
 Etats du processus
 Process Control Block (PCB)
Introduction
 Ordinateur modernes :
 Capacité de faire plusieurs choses en même temps
(simultanément) :
 Exemple : Exécuter un programme utilisateur
Effectuer des lectures sur disques
Envoyer du texte vers l’imprimante
 Processeur basculant entre les processus (programme en
exécution) : servir à quelques dizaines ou centaine de
millisecondes chacun (système multiprogrammé)
 Processeur n’exécutant qu’un seul processus à un instant donné.
 # Processeur intervenant pour plusieurs programme en l’espace
d’une seconde. (Pseudo Parallélisme).
 Elaboration d’un modèle conceptuel de processus reposant sur
les processus séquentiel facilitant la gestion de ce parallélisme
Modèle de processus
 Organisation des logiciels et du système d’exploitation en des
processus séquentiels (ou simplement processus)
 Processus :
 Programme en exécution, muni des valeurs :

 Du compteur ordinal
 Des registres
 Et des variables
D
A C
B B
A B C D
C A
D
 Un processeur peut être partagé entre plusieurs processus 
 Nécessité d’un Ordonnanceur pour déterminer à quel moment

arrêter un processus pour lancer un autre


Création d’un processus
 Système multiprogrammé : besoin de méthodes pour créer et
arrêter des processus par les systèmes d’exploitation au cours de
leur activité.
 Quatre évènement de création de processus :
 Initialisation du système
 Exécution d’un appel système de création de processus par un
processus en cours d’exécution (Exemple : fork())
 Requête utilisateur sollicitant la création d’un nouveau processus
 Initiation d’un travail batch
 Amorçage du système :
 Création de plusieurs processus :
 De premier plan : interagissant avec l’utilisateur
 En arrière plan : exemple : processus recevant le courant électronique
entrant ou processus recevant des requêtes page web (Démons)
Création d’un processus
 Au-delà des processus crées lors de l’amorçage :
 Création d’un processus par un autre :

 Utile lorsqu’un processus peut être divisé en plusieurs processus qui


interagissent entre eux tout en étant indépendant.
 Exemple : récupération de données des réseaux afin de les traiter

ultérieurement
création P0 création

P1 P2
Tampon

 Création d’un processus par un usager


 Systèmes interactifs : usager démarre un programme en saisissant une
commande.
 Lancement d’un processus batch :
 Dans tous les cas : Un processus est créé du fait qu’un processus
existant exécute un appel système de création de processus :
Terminaison d’un processus
 Un processus créé n’est pas éternel
 Arrêt pour différentes raisons :

 Arrêt normal :
 terminaison de la tâche convenablement (exemple ( compilation d’un

programme)
 Invocation d’un appel système  indiquer cet état au système

 Arrêt suite à une erreur provoquée par le processus (bogue du

programme)
 Exemple : référence mémoire inexistante ou division par zéro

 Arrêt suite à une erreur fatale :

 Exemple : compilation d’un programme inexistant (cc essai.c)

 Processus arrêté par un autre processus :

 Appel système d’un processus pour arrêter un autre processus (sous

unix : Kill)
Hiérarchie des processus
 Création d’un processus enfant par un processus parent 
maintenance d’un lien entre ces deux processus :
p0
p1 p2 p3

p4 p5 p6

 Sous UNIX
 Init présent dans l’image d’amorçage
 Execution d’Init  lecture d’un fichier indiquant combien de terminaux sont
présents
 Génération d’un processus login par terminal Init
 Réussite d’une session 
 Lancement du shell 
Login 1 login2 login3
 Création d’autres processus
Compilation Impression
États des processus
• Au fur et a mesure qu’un processus exécute, il change d’état
 nouveau: le processus vient d ’être créé
 exécutant-running: le processus est en train d ’être exécuté par l ’UCT
 attente-waiting (ou bloqué): le processus est en train d ’attendre un
événement ([Link]. la fin d ’une opération d ’E/S)
 prêt-ready: le processus est en attente d’être exécuté par l ’UCT
 terminated: fin d ’exécution
• Le passage de l’état prêt à l’état exécution et vis versa se font à
l’aide de l’ordonnateur
 nouveau: le processus vient d ’être créé
• L’Ordonnanceur a pour rôle :
 D’équilibrer les demandes concurrentes
 Équité entre les processus
 Réalisé par des algorithmes spécifiques (étudié plus loin)
Ordonnanceur
• Faisant partie du niveau inférieur du système d’exploitation
• Gestion :
 Des interruptions
 Détail du démarrage et d’arrêt des processus
• Le niveau supérieur :
• Composé de l’ensemble des processus au cours de l’activité du système

Processus

0 1  n

Ordonnanceur
Diagramme de transition d’états d’un processus
États Nouveau, Terminé

 Nouveau
 Le SE a créé le processus
 a construit un identificateur pour le processus

 a construit les tableaux pour gérer le processus

 mais ne s’est pas encore engagé à exécuter le processus (pas encore admis)
 pas encore alloué des ressources
 La file des nouveaux travaux est souvent appelée spoule travaux (job spooler)

 Terminé:
 Le processus n ’est plus exécutable, mais ses données sont encore requises par le
SE (comptabilité, etc.)
Transitions entre processus

 Prêt  Exécution
 Lorsque l ’ordonnanceur UCT choisit un processus pour

exécution

 Exécution  Prêt
 Résultat d’une interruption causée par un événement

indépendant du processus
 Il faut traiter cette interruption, donc le processus courant

perd l’UCT
 Cas important: le processus à épuisé son intervalle de

temps (minuterie)
Transitions entre processus

 Exécution  Attente
 Lorsqu’un processus fait un appel de système (interruption

causée par le processus lui-même)


 initie une E/S: doit attendre le résultat

 a besoin de la réponse d’un autre processus

 Attente  Prêt
 lorsque l'événement attendu se produit
Sauvegarde d’informations processus
• En multiprogrammation, un processus exécute sur l ’UCT de façon
intermittente
• Chaque fois qu’un processus reprend l ’UCT (transition prêt 
exécution) il doit la reprendre dans la même situation où il l’a
laissée (même contenu de registres UCT, etc.)
• Donc au moment où un processus sort de l’état exécution il est
nécessaire de sauvegarder ses informations essentielles, qu’il faudra
récupérer quand il retourne à cet état
• Maintenance d’une table de processus contenant une entré par
processus :
• Bloc de contrôle de processus
PCB = Process Control Block

Représente la situation actuelle d ’un processus, pour le reprendre plus


tard :
toute l’information relative au processus devant être enregistrée
lorsque le processus bascule de l’état en cours d’exécution vers
les états : prêt ou bloqué (en attente) :

Registres UCT
Process Control Block (PCB)
 pointeur: les PCBs sont rangés dans des listes enchaînées (à
voir)
 état de processus: ready, running, waiting…
 compteur programme: le processus doit reprendre à l ’instruction
suivante
 autres registres UCT
 bornes de mémoire
 fichiers qu’il a ouvert
 etc.
Commutation de processeur
Aussi appélé commutation de contexte ou context switching

• Quand l’UCT passe de l’exécution d ’un processus 0 à


l ’exécution d`un proc 1, il faut :
 mettre à jour le PCB de processus 0
 reprendre le PCB du processus 1, qui avait été
sauvegardé avant de remettre les registres d ’UCT tels
que le compteur d ’instructions etc. dans la même
situation qui est décrite dans le PCB du processus 1
Commutation de processeur (context switching)
Le PCB n ’est pas la seule information à sauvegarder

• Il faut aussi sauvegarder l ’état des données du programme


• Ceci se fait normalement en gardant l ’image du
programme en mémoire primaire ou secondaire (RAM ou
disque)
• Le PCB pointera à cette image
La pile d’un processus aussi à sauvegarder
• Quand un processus fait appel à une procédure, à une méthode, etc.,
il est nécessaire de mettre dans une pile l’adresse à laquelle le
processus doit retourner après avoir terminé cette procédure,
méthode, etc.
• Aussi on met dans cette pile les variables locales de la procédure
qu’on quitte, les paramètres, etc., pour les retrouver au retour
• Chaque élément de cette pile est appelé stack frame ou cadre de pile
• Donc il y a normalement une pile d’adresses de retour après
interruption et une pile d’adresses de retour après appel de
procédure
 Ces deux piles fonctionnent de façon semblable, mais sont
indépendantes
• Les informations relatives à ces piles (base, pointeur…) doivent
aussi être sauvegardées au moment de la commutation de contexte
La Pile d’un processus

P
A
B
Appel A Appel B
Données B

Données A

Données P

PILE
Pointeurs de pile à sauvegarder:
base et borne

pointeur de borne
cadre 4

cadre 3
cadre 2

pointeur de base cadre 1

La pile fait normal. partie de l’image du programme, mais les pointeurs


sont normal. des registres d’UCT donc il sont sauvegardés dans le PCB

Vous aimerez peut-être aussi