Chapitre2 4pages
Chapitre2 4pages
Chapitre2 4pages
Systèmes d’exploitation I
Auditoire : 1ère année LISI Chapitre 2 : Gestion des processus
Enseignantes : Imen chtourou
Imen Gabsi
1 2
■ Un processus est l’entité d’exécution dans un système ■ Quand un processus s’exécute, il change d’état
– Un processus = un programme en cours d’exécution ■ Chaque processus peut se trouver dans chacun des états suivants :
■ L’exécution d’un processus doit progresser séquentiellement, cad, à n’importe quel – En exécution : Les instructions sont en cours d’exécution (en train d’utiliser la
CPU)
moment une seule instruction au plus est exécutée au nom du processus – En attente : Le processus attend qu’un événement se produise
■ Processus # Programme – Prêt : Le processus attend d’être affecté à un processeur
■ Un seul processus peut être en exécution sur n’importe quel processeur à tout
moment
■ Toutefois, plusieurs processus peuvent être prêts et en attente
3 4
1
25/10/2022
5 6
■ Point de vue conceptuel: chaque processus possède son processeur virtuel ■ Dans un système multitâche plusieurs processus sont en cours simultanément, mais
■ Réalité: le processeur bascule constamment d’un processus à l’autre
le processeur ne peut, à un moment donné, exécuter qu’une instruction (d’un
■ Ce basculement rapide est appelé multiprogrammation
programme) à la fois. Le processeur travaille donc en temps partagé
■ Lorsque le processeur passe d’un processus à un autre, la vitesse de traitement
d’un processus donné n’est pas uniforme et probablement non reproductible si le
■ L’ordonnanceur (scheduler) est le module du SE qui s’occupe de sélectionner le
même processus s’exécute une nouvelle fois
processus suivant à exécuter parmi ceux qui sont prêts
7 8
2
25/10/2022
■ Un processus passe entre les diverses files d’attente pendant sa durée de vie (file ■ Les algorithmes d’ordonnancement (scheduleur) peuvent être classés en deux
d’attente des processus prêts (attendant pour s’exécuter), fille d’attentes des catégories :
périphériques, ...) 1- Non préemptif :
■ Le SE doit sélectionner les processus à partir de ces files d’attente d’une manière – Sélectionne un processus, puis le laisse s’exécuter jusqu’à ce qu’il bloque (soit sur
une E/S, soit en attente d’un autre processus) où qu’il libère volontairement le
quelconque
processeur.
■ Le processus de sélection est mené à bien par le scheduleur approprié – Même s’il s’exécute pendant des heures, il ne sera pas suspendu de force.
■ Classification des processus – Aucune décision d’ordonnancement n’intervient pendant les interruptions de
l’horloge
– Dépendant des E/S: dépense la plupart du temps à effectuer des E/S plutôt que
des calculs 2- Préemptif:
– Sélectionne un processus et le laisse s’exécuter pendant un délai déterminé.
– Dépendant de la CPU: génère peut fréquemment des requêtes d’E/S, cad,
passe plus de temps à effectuer des calculs – Si le processus est toujours en cours à l’issue de ce délai, il est suspendu et le
scheduleur sélectionne un autre processus à exécuter
9 10
11 12
3
25/10/2022
13 14
Algorithmes d’ordonnancement
Algorithmes d’ordonnancement L’algorithme HPF(Highest Priority First)
L’algorithme Round Robin ■ Le modèle du tourniquet suppose tous les processus d'égale importance. C'est irréaliste.
■ Il s'agit d'un algorithme ancien, simple et fiable. Le processeur gère une liste circulaire D'où l'attribution de priorité à chaque processus
de processus. Chaque processus dispose d'un quantum de temps pendant lequel il est
autorisé à s'exécuter. ■ L'Ordonnanceur lance le processus prêt de priorité la plus, En cas de priorités égales on
■ Si le processus actif se bloque ou s'achève avant la fin de son quantum, le processeur utilise l’algorithme FIFO. L’ordonnancement des priorités peut être préemptif ou non
est immédiatement alloué à un autre processus. Si le quantum s'achève avant la fin du
processus, le processeur est alloué au processus suivant dans la liste et le processus ■ Les mécanismes d’attribution des priorités sont très variables ; la priorité est basée sur la
précédent se trouve ainsi en queue de liste. caractéristique du processus (utilisation de la mémoire, fréquence des E/S), sur l’utilisateur
■ La commutation de processus (overhead) dure un temps non nul pour la mise à jour des qui exécute le processus, les coûts d’utilisation (Le temps de l’UC pour les tâches de
tables, la sauvegarde des registres.
priorité supérieure est par exemple plus coûteux) ou sur un paramètre que l’utilisateur peut
(-) Un quantum trop petit provoque trop de commutations de processus et abaisse
l'efficacité du processeur. spécifier. Certains mécanismes produisent des priorités qui varient de manière dynamique
(-) Un quantum trop grand augmente le temps de réponse en mode interactif. On utilise : volume du temps d’exécution ; alors que d’autre sont statiques (la priorité associée à un
souvent un quantum de l'ordre de 100 ms. utilisateur)
15 16
4
25/10/2022
■ Le temps de séjour: C’est la durée moyenne nécessaire pour l’exécution d’un processus. Processus P1 P2 P3 P4 P5
Temps de service estimé 10 1 2 1 5
Il est calculé en soustrayant le temps d'entrée du processus du temps de terminaison
Temps de séjour = Temps fin d’exécution – Temps d’arrivée 1) Décrire l’exécution des processus dans le cadre des politiques d’ordonnancement FIFO,
SJF, RR (avec un quantum de 1)
■ Le temps d'attente: C’est la durée moyenne qu’un processus passe à attendre, calculé en 2) Quelle est, de ces trois politiques, celle qui correspond à un temps minimal d’attente
moyen par processus ?
soustrayant le temps d'exécution du temps de séjour
17 18
Correction
19