Vous êtes sur la page 1sur 19

Support de Cours

Système d’Exploitation I

Chiheb Eddine Ben N’Cir

Chiheb.benncir@gmail.com
Plan

• Ordonnancement des processus

• Critères d’évaluation de la qualité


d’ordonnancement

• Les politiques d’ordonnancement: FCFS,SJF,


Round Robin, avec priorités

Ben N’Cir chiheb-Eddine-ESEN-Manouba 2


Contexte
• Un processeur ne peut exécuter qu’un seul processus
• Les systèmes actuels permettent l’exécution de plusieurs
processus simultanément

Solution 1: Un processeur pour chaque processus


Solution 2: partager le processeur entre les processus
demandant simultanément le processeur

On parle d’ordonnancement des processus

Ben N’Cir chiheb-Eddine-ESEN-Manouba 3


Objectifs de l’ordonnancement
• Maximiser le nombre de processus exécutés par unité de temps
• Maximiser le temps d’attente d’exécution de chaque processus
• Maximiser le temps d’utilisation des processeurs et autre ressources
• Eviter le problème de famine
• Favoriser les processus les plus prioritaires
• Minimiser le nombre de changements de contexte

→ Difficile de satisfaire tous les objectifs à la fois

Solution: Satisfaire les objectifs selon un ordre de priorité (sachant les


objectifs derrière l’utilisation du SE)

Ben N’Cir chiheb-Eddine-ESEN-Manouba 4


L’ordonnanceur
• Le système d'exploitation applique un programme pour gérer l'ordre
d'exécution des processus, appelé scheduler, dispatcher ou
ordonnanceur.

• L'ordonnanceur dispose de plusieurs algorithmes d'ordonnancement


qui correspondent à différentes politiques d'organisation des
processus : équitable, avec priorité, plus court d'abord. Il agit sur la file
des processus prêts et l'organise en appliquant un algorithme donné.

• Il faut souligner à ce stade que l'ordonnanceur ne change pas de


politique d'ordonnancement. Chaque système d'exploitation applique
un algorithme choisi par les concepteurs.

Ben N’Cir chiheb-Eddine-ESEN-Manouba 5


Mode d’ordonnancement
Deux classes d’ordonnanceur:

1. Non préemptif: (sans réquisition) 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
processeur. Même s’il s’exécute pendant des heures, il ne sera pas
suspendu de force. Aucune décision d’ordonnancement
n’intervient pendant le s interruptions de l’horloge.

2. Préemptif: (avec réquisition) Sélectionne un processus et le laisse


s’exécuter pendant un délai déterminé. 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.
Ben N’Cir chiheb-Eddine-ESEN-Manouba 6
Règles d’arbitrages
• Si deux processus ont le même ordre selon la politique
d’ordonnancement, le système d’exploitation utilise des
règles d’arbitrages pour choisir le processus à exécuter

• Les règles d’arbitrages possibles:


- Aléatoire,
- plus court processus,
- processus le plus prioritaire,
- etc…

Ben N’Cir chiheb-Eddine-ESEN-Manouba


7
Système multi-processus
ordonnancement haut niveau et bas niveau

Ben N’Cir chiheb-Eddine-ESEN-Manouba 8


Critère d’évaluation de la performance de
l’ordonnancement
• Rendement (throughput) :
Nombre de travaux exécutés par unité de temps.
• Temps de service (turnaround time):
Temps qui s'écoule entre le moment où un travail est soumis et
où il est exécuté (temps d'accès mémoire + temps d'attente en
file des éligibles + temps d'exécution dans le processeur et E/S).
• Temps d'attente (waiting time) :
Temps passé dans la file des processus éligibles.
• Temps de réponse (response time):
Temps qui s'écoule entre la soumission d'une requête et la
première réponse obtenue.

Ben N’Cir chiheb-Eddine-ESEN-Manouba 9


Politique d’ordonnancement 1
FCFS
• Le processus qui arrive premier occupera le processeur
• L’implantation de la politique FCFS est facilement gérée
avec une file d’attente FIFO. Une fois que la CPU a été
allouée à un processus, celui-ci garde la CPU jusqu’à ce qu’il
la libère (fin ou E/S).
• FCFS est particulièrement inapproprié pour le temps
partagé où il est important que chaque utilisateur obtienne
la CPU à des intervalles réguliers.
• Temps moyen d’attente: généralement n’est pas minimal et
peut varier substantiellement si les temps de cycles de la
CPU du processus varient beaucoup

Ben N’Cir chiheb-Eddine-ESEN-Manouba 10


Exercice
Processus Date arrivée Temps CPU
P1 0 9
P2 3 5
P3 4 7
P4 10 4

1) Donner le Diagramme de Gantt de l’exécution des processus en utilisant l’ordonnanceur


FCFS
2) Calculer les indicateurs de performance suivants: Temps d’attente Moyen (TA), Temps
de réponse Moyen (TR), Temps de service moyen (TS), Rendement (4-microseconde)

Ben N’Cir chiheb-Eddine-ESEN-Manouba


11
Politique d’ordonnancement 2
SJF
• Short Job First (SJF) Le processus qui a le temps CPU le plus minimale
sera exécuté
• Associe à chaque processus la longueur de son prochain cycle de
CPU. Quand la CPU est disponible, elle est assignée au processus
qui possède le prochain cycle le plus petit.
• Si deux processus possèdent la même longueur, le FCFS peut être
utilisé (arbitrage).
• SJF est optimal: il obtient le temps moyen d’attente minimal pour
un ensemble de processus donné.
• Difficulté: pouvoir connaître la longueur de la prochaine requête
de la CPU , problème famine
• Deux mode: Non préemptif et préemptif.

Ben N’Cir chiheb-Eddine-ESEN-Manouba 12


Exercice
Processus Date arrivée Temps CPU
P1 0 9
P2 3 5
P3 4 7
P4 10 4

1) Donner le Diagramme de Gantt de l’exécution des processus en utilisant l’ordonnanceur


SJF sans réquisition
2) Calculer les indicateurs de performance suivants: Temps d’attente Moyen (TA), Temps
de réponse Moyen (TR), Temps de service moyen (TS), Rendement (4-microseconde)
3) Donner le Diagramme de Gantt de l’exécution des processus en utilisant l’ordonnanceur
SJF avec réquisition
4) Calculer les indicateurs de performance suivants: Temps d’attente Moyen (TA), Temps
de réponse Moyen (TR), Temps de service moyen (TS), Rendement (4-microseconde)
Ben N’Cir chiheb-Eddine-ESEN-Manouba
13
Politique d’ordonnancement 3
Tourniquet
• Appelé aussi Round Robin (RR)
• Chaque processus a une petite unité de temps appelée tranche de
temps ou Quantum q.
• Le scheduleur de la CPU parcourt la file d’attente des processus prêts
en allouant la CPU à chaque processus pendant un intervalle de
temps allant jusqu’à un quantum.
• Lorsque un processus actif épuise son quantum q, il libère le
processeur ensuite il est placé en queue d’une liste
• La file d’attente des processus prêts est implantée comme une file
FIFO.
• Les nouveaux processus sont placés à la fin de la liste
• tous les processus ont la même priorité

Ben N’Cir chiheb-Eddine-ESEN-Manouba 14


Exercice
Processus Date arrivée Temps CPU
P1 0 9
P2 3 5
P3 4 7
P4 10 4

1) Donner le Diagramme de Gantt de l’exécution des processus en utilisant l’ordonnanceur


Round Robin avec q=3.
2) Calculer les indicateurs de performance suivants: Temps d’attente Moyen (TA), Temps
de réponse Moyen (TR), Temps de service moyen (TS), Rendement (4-microseconde)

Ben N’Cir chiheb-Eddine-ESEN-Manouba


15
Politique d’ordonnancement 3
Tourniquet
Performance:
• Si le quantum est trop grand: RR devient FCFS
• Si le quantum est très petit: RR est appelé partage du
processeur (si n processus résident dans la file, la
vitesse du processeur est ralentie de 1/n, selon
l’utilisateur
• Généralement, q doit être suffisamment grand par
rapport au temps de commutation

Ben N’Cir chiheb-Eddine-ESEN-Manouba 16


Politique d’ordonnancement 4
Avec Priorité
• Une priorité est associée à chaque processus. CPU est allouée au processus de plus
haute priorité (priorité = 1 > priorité = 2 )
• Les processus ayant la même priorité sont schedulés dans un ordre FCFS ou SJF (règle
d’arbitrage).
• Exemple Processus Temps de cycle Priorité

• Deux Modes d’exécutions: Préemptif et non préemptif


• Problème: Famine (starvation) ou blocage indéfinie: processus avec des basses priorités
peuvent attendre indéfiniment (ne jamais être exécutés).
• Solution: Vieillissement : technique qui consiste à augmenter la priorité des processus
plus vieux.

Ben N’Cir chiheb-Eddine-ESEN-Manouba 17


Evaluations des algorithmes
d’ordonnancement

• FCFS: pénalise les processus de court temps


d’exécution
• SJF: problème de famine
• Tourniquet: Bien choisir le Quantum de temps par
rapport au cout de commutation de contexte
• Priorité :Risque de famine des processus de faible
priorité

Ben N’Cir chiheb-Eddine-ESEN-Manouba 18


Scheduling avec des files d’attente à multi-
niveaux
Séparer les processus ayant des caractéristiques différentes de cycle de CPU en différentes files.
Permet aux processus de se déplacer entre les files.
Processus employant beaucoup de temps processeur: file de priorité inférieure
Processus tributaire E/S: file de priorité supérieure
Processus qui attend trop longtemps dans une file de priorité basse peut
être déplacé à un file de priorité supérieure

Exemple: 3 files d’attente

Q0: quantum 8ns; Q1: quantum 16ns ; Q2: FCFS

Un nouveau processus est inséré dans Q0


Processus de Q0: S’il ne finit pas en 8ns, alors il est interrompu et placé en
Q1
Si Q0 est vide, le processus en tête de Q1 prend la CPU. S’il ne termine pas en 16ns, il est
interrompu et mis dans Q2
Processus de Q2: exécutés avec FCFS (seulement quand Q0 et Q1 sont vides)

Ben N’Cir chiheb-Eddine-ESEN-Manouba 19

Vous aimerez peut-être aussi