Systèmes d`exploitation (SE)

publicité
12/02/2017
SYSTÈMES D’EXPLOITATION (SE)
ORDONNANCEMENT DES
PROCESSUS
Dr. Jihène Tounsi
ISG de Sousse
Site web http://www.jihenetounsi.com
Email: [email protected]
Cours développé par Dr. Jihène Tounsi
Plan
2





Introduction aux SE
L’ordonnancement
Ordonnancement sans réquisition
Ordonnancement avec réquisition
Bilan et exemples
1
12/02/2017
Cours développé par Dr. Jihène Tounsi
Structure matérielle d’un ordinateur
• Périphériques d’Entrées / Sorties
• Ensemble de registres
• Compteur Ordinal
• Registre d’instruction
• Accumulateur
• Exécution des instructions machine
• Espace de stockage des programmes à exécuter et
des données
Cours développé par Dr. Jihène Tounsi
Structure d’un système informatique
Applications (web, mail, ftp, java…)
Utilitaires et bibliothèques
Systèmes d’exploitation (noyau)
Instruction machine
2
12/02/2017
Cours développé par Dr. Jihène Tounsi
Définition (L. Baccouche, 2005)

Un SE est une couche d’interface entre la machine et
l’utilisateur conçue afin de gérer les composants de
l’ordinateur (ressources) en masquant la complexité
du matériel et en offrant un environnement de
programmation convivial (interface graphique).
Cours développé par Dr. Jihène Tounsi
Fonctions d’un Système d’exploitation






Transition entre mode d’exécution (esclave / maître)
Allocation du processeur
Gestion des processus
Gestion de la mémoire virtuelle
Gestion des Fichiers
Gestion des E/S
3
12/02/2017
Cours développé par Dr. Jihène Tounsi
Le concept « Processus »


Processus = un programme en cours d’exécution
Il utilise les ressources matérielles et logicielles
Processus créé par le
système d’exploitation afin
d’exécuter le programme
_____
_____
_
Exécution du programme par le
processeur
Programme chargé
en mémoire centrale
Programme
enregistré sur
disque dur
Cours développé par Dr. Jihène Tounsi
Le concept « Processus »


Un programme est une description statique
Un processus est une description dynamique
 Il
englobe le programme
 Il a un début, un déroulement et une fin.
 Il a un état qui évolue au cours du temps
Etat
Contexte
Processus
4
12/02/2017
Cours développé par Dr. Jihène Tounsi
Etat d’un processus
Élu
Tâche terminée
Exécution par le CPU
Ordonnanceur
Retour file d’attente
Terminé
Prêt
Demande d’une ressource
Tâche interrompue
Ressource obtenue
Bloqué
Cours développé par Dr. Jihène Tounsi
Etat d’un processus

Élu (en exécution)


Prêt (éligible)


Au cours d’exécution dans le processeur
Le processus est prêt à être exécuté par le système d’exploitation
Bloqué (en attente)
Le processus attend la libération d’une donnée ou d’une ressource.
 Le processus a fini sa tâche et attend une autre commande


Terminé

Le processus a terminé son exécution au niveau du sytème
d’exploitation
5
12/02/2017
Cours développé par Dr. Jihène Tounsi
Contexte d’un processus

Toutes les informations concernant le processus
 L’espace




 Les
Pile
d’adressage
Tas
Le segment code
Le segment des données
La pile
Le tas
Données
Texte
données de contrôle par le système





Le compteur ordinal
Le contenu des registres généraux
Les registres d’espace mémoire (@ début et @ fin)
Le registre d’état du processus
D’autres informations : valeur horloge, permission, priorité, etc.
Cours développé par Dr. Jihène Tounsi
Commutation de contexte
Enregistrer Contexte P1
Exécution
Charger Contexte P2
Exécution
Enregistrer Contexte P2
Charger Contexte P1
Exécution
P1
Système d’exploitation
P2
Une commutation de contexte prend lieu entre l’état prêt et élu
6
12/02/2017
Cours développé par Dr. Jihène Tounsi
Plan
13





Introduction aux SE
L’ordonnancement
Ordonnancement sans réquisition
Ordonnancement avec réquisition
Bilan et exemples
Cours développé par Dr. Jihène Tounsi
Les concepts de base pour un
processeur mono-coeur
14



Un ordonnanceur (scheduler ou dispatcher): un
programme qui gère l’ordre de passage des
processus dans le processeur (CPU).
Une file d’attente qui va accueillir les processus
prêts
L’algorithme d’ordonnancement (politique ou
approche) se traduit par un ensemble de règles
pour organiser ou ordonner les processus
7
12/02/2017
Cours développé par Dr. Jihène Tounsi
Les concepts de base pour un
processeur multi-cœur
15



Un ordonnanceur par cœur: un programme qui gère l’ordre de
passage des processus dans le processeur (CPU).
Une file d’attente qui va accueillir les processus prêts pour tous
les cœurs.
L’algorithme d’ordonnancement : généralement les
ordonnanceurs respectent certaines règles (priorité et non
fréquemment élu)
Dans le multi-cœur il y a toujours un CPU master (généralement
le core 1) qui lance les autres cœurs en basse consommation
d’énergie.
Cours développé par Dr. Jihène Tounsi
Mécanismes de fonctionnement
classique
16
L’ordonnanceur ordonne la file « prêt » selon
l’algorithme adopté par le SE et ceci dès l’arrivée
d’un processus à la file.
L’ordonnanceur sélectionne un processus à exécuter
(tête de la file)
À la fin de l’exécution d’un processus,
l’ordonnanceur est sollicité pour faire sortir le
processus en cours et sélectionner un nouvel élu
1.
2.
3.

C’est une commutation de contexte = changement de
l’élu dans un CPU
8
12/02/2017
Cours développé par Dr. Jihène Tounsi
Rôle de l’algorithme
17

O.Dalle : « Décider de l’allocation de la ressource
aux entités qui l’attendent, de sorte à atteindre
certains objectifs. »
 Entités


Un processus
Une file d’exécution à l‘intérieur d’un processus
 Ressource:
le processeur
: aboutir à un partage efficace du temps
d’utilisation
 Objectif
Efficace? Comment?
Cours développé par Dr. Jihène Tounsi
Critères de l’efficacité
18

Respect des priorités



Respect de l’équité


Le SE accorde des priorités aux différents processus (pas
tous les algorithmes)
La priorité peut être statique ou dynamique
Deux processus ayant le même niveau de priorité doivent
pouvoir utiliser le processeur (CPU) aussi souvent l’un que
l’autre
Pas de famine

Tout processus doit pouvoir utiliser le CPU. Pas d’attente à
l’infini.
9
12/02/2017
Cours développé par Dr. Jihène Tounsi
Les Métriques de l’efficacité
19

Le rendement d’un système


Le temps de rotation (T.R) ou service : durée moyenne qu’il
faut pour qu’un processus s’exécute. Le temps de rotation
d’un processus comprend tout le temps que celui-ci passe
dans le système y compris dans l’état prêt.



Débit =
T.R=
T.Rmoyen =
Le temps d’attente (T.A) : est le temps passé dans la file des
processus (prêts)


T.A=
T.Amoyen =
Cours développé par Dr. Jihène Tounsi
Classification des algorithmes
d’ordonnancement
20

Sans réquisition : c’est au processus de lâcher
volontairement la ressource



Politique « FIFO » (First in First out)
Politique « PCTU » (Plus court temps d’utilisation du CPU) ou
SJF (Shortest Job First)
Avec réquisition : l’ordonnanceur peut récupérer la
ressource d’un processus au profit d’un autre



Politique du « SRT » (le plus court temps restant)
Politique du « Tourniquet » ou Round Robin
Politique « préemptif » (avec priorités)


Priorité statique
Priorité dynamique
10
12/02/2017
Cours développé par Dr. Jihène Tounsi
Exemple d’application
21

Cet exemple servira de support pour développer
les algorithmes d’ordonnancement.
Processus
Date
d’arrivée
Durée
d’exécution
(ms)
Priorité
P1
0
3
1
P2
0
5
3
P3
0
2
2
P4
0
6
5
P5
0
4
4
Cours développé par Dr. Jihène Tounsi
Plan
22




Introduction
Ordonnancement sans réquisition
Ordonnancement avec réquisition
Bilan et exemples
11
12/02/2017
Cours développé par Dr. Jihène Tounsi
Politique FIFO
23


Allocation dans l’ordre d’arrivée : premier arrivée=
premier servi
Inconvénient : défavorise les entités ayant besoin
d’utiliser la ressource pendant un court laps de
temps.
 Temps
moyen de traitement élevé
 Pas d’équité
Cours développé par Dr. Jihène Tounsi
Politique PCTU ou SJF
24


Allocation selon la durée d’exécution du processus.
La sélection se fait sur la base du plus court temps.
Inconvénient
 Pas
réaliste : exige de connaître dès le départ le temps
d’exécution
 Famine (privation): les processus avec une durée longue
peuvent attendre indéfiniment

Avantage

temps d’attente et de réponse plus faible
12
12/02/2017
Cours développé par Dr. Jihène Tounsi
Plan
25




Introduction
Ordonnancement sans réquisition
Ordonnancement avec réquisition
Bilan et exemples
Cours développé par Dr. Jihène Tounsi
La politique SRT
26

Allocation selon la durée d’exécution restante du
processus. La sélection se fait sur la base du plus
court temps.


Si le processus arrivant dans la file a un temps d’exécution
plus court que le temps restant du processus dans le CPU; ce
dernier est arrêté en faveur du nouveau.
Inconvénient

Famine (privation): les processus avec une durée longue
peuvent attendre indéfiniment
13
12/02/2017
Cours développé par Dr. Jihène Tounsi
La politique du Tourniquet
27



Chaque processus s’exécute au maximum pendant
une tranche de temps fixe (quantum)
La ressource est allouée à l’entité en tête de la file,
pour une durée d’au maximum un quantum.
À la fin du quantum,
 Soit,
le processus est interrompu et replacé à la fin de
la file s’il a encore un temps restant d’exécution
 Soit, Le processus part vers l’état attente pour
traitement (en veille) ou l’état terminé
Cours développé par Dr. Jihène Tounsi
La politique du Tourniquet
28

Quantum ni trop court
 Le
processus passe son temps à charger et décharger les
processus (temps de commutation est trop long)
 Temps de réponse est trop grand.

…Ni trop long
 L’illusion
de l’exécution parallèle s’estompe
14
12/02/2017
Cours développé par Dr. Jihène Tounsi
La politique priorité statique
29



La ressource est utilisée par le processus ayant la plus
grande priorité.
La priorité est un nombre fixe attribué à chaque
processus par le SE.
Les processus sont classés par ordre décroissant des
priorités


Dans notre module, la classe1 est la priorité la plus haute
Le processus élu peut être interrompu par un processus
de priorité plus importante
Cours développé par Dr. Jihène Tounsi
La politique priorité dynamique
30


Problème de la priorité statique: famine des entités de
faible priorité
Solution : ajustement dynamique des priorités après un
quantum ou un tic horloge (Priorité dynamique)




Une file par priorité.
Un processus ayant obtenu sa ressource pendant un quantum se
voit sa priorité diminuer.
Un processus interrompu sans avoir fini son quantum garde la
même priorité.
Conséquence : beaucoup de changement dans les files
(1 file par priorité)
15
12/02/2017
Cours développé par Dr. Jihène Tounsi
Plan
31




Introduction
Ordonnancement sans réquisition
Ordonnancement avec réquisition
Bilan et exemples
Cours développé par Dr. Jihène Tounsi
Bilan
32




Beaucoup d’algorithme d’ordonnancement
Les algorithmes classiques (présents dans le
cours) peuvent être mixés pour donner naissance
à une nouvelle politique.
L’ordonnanceur peut adopter un algorithme
différent pour chaque ressource
Pas d’algorithme idéal. Le choix dépend des
attentes et des besoins
16
12/02/2017
Cours développé par Dr. Jihène Tounsi
Exemple 1 (Examen Mai 2011)
33
Processus
Temps dans le
processeur (ms)
Instant
d’arrivée
Priorité
P1
P2
P3
P4
P5
3
3
4
2
1
0
0
4
4
5
3
1
3
4
2
1/ Pour chacune des politiques d’ordonnancement suivantes, dessinez le graphique
d’exécution et calculez le temps d’attente moyen et le temps de réponse moyen :
Politique FIFO (First In First Out)
Politique PCTU (Plus Court Temps d’utilisation du CPU)
Politique Préemptif (la priorité 1 est la plus haute)
Politique SRT (temps restant le plus court)
Politique du Tourniquet avec un quantum de 2 ms.
2/ Quelle politique est la plus optimale ? Expliquez.
Cours développé par Dr. Jihène Tounsi
Exemple 2 (Examen Juin 2011)
34
Processus
Temps dans le
processeur (ms)
Instant
d’arrivée
Priorité
P1
P2
P3
P4
P5
4
3
4
2
3
0
0
0
0
0
1
1
2
4
3
1/ Pour chacune des politiques d’ordonnancement suivantes, dessinez le graphique
d’exécution et calculez le temps d’attente moyen et le temps de réponse moyen :
Politique FIFO (First In First Out)
Politique PCTU (Plus Court Temps d’utilisation du CPU)
Politique Préemptif (la priorité 1 est la plus haute)
Politique SRT (temps restant le plus court)
Politique du Tourniquet avec un quantum de 2 ms.
2/ Quelle politique est la plus optimale ? Expliquez.
3/ Refaire le même exercice (Q 1 et Q 2) en supposant que le changement de
contexte dure 1 unité de temps.
17
Téléchargement