Ordonnancement
I. L'ordonnancementâïž
Ordonnancement
Afin de choisir quel processus va repasser en mode exĂ©cution, l'ordonnanceur applique un algorithme prĂ©dĂ©fini lors de la conception de l'OS. Le choix que va rĂ©aliser cet algorithme va impacter directement la rĂ©activitĂ© du systĂšme et les usages qui pourront en ĂȘtre fait. C'est un Ă©lĂ©ment critique du systĂšme d'exploitation.
Nous allons maintenant voir le principe de fonctionnement de l'ordonnancement
Les différents algorithmes d'ordonnancement
- Le modĂšle FIFO : on affecte les processus dans l'ordre de leur apparition dans la file d'attente.
- Le modÚle SJF (Shortest Job First) : on affecte en premier le « plus court processus en premier » de la file d'attente à l'unité de calcul.
- Le modÚle Round Robin : (ou méthode du tourniquet) on effectue un bloc de chaque processus présent dans la file d'attente à tour de rÎle, pendant un quantum de temps d'en général 20 à 30 ms. Si le processus n'est pas terminé, il repart en fin de liste d'attente.
D'autres algorithmes
Il existe d'autres algorithmes d'ordonnancement, comme par exemple le modĂšle PrioritĂ©, oĂč chaque processus dispose dâune valeur de prioritĂ© et on choisit le processus de plus forte prioritĂ© Ă chaque fois. Actuellement, la plupart des systĂšmes dâexploitation utilise une Ă©volution du modĂšle prioritĂ©, reposant sur les principes suivants :
Chaque processus possÚde une priorité de base.
Cette priorité augmente quand le processus est inactif et diminue quand il est actif (le taux de changement dépend de la priorité de base).
Le systÚme choisit parmi les processus de plus forte priorité.
Le quantum
Le quantum est une unité arbitraire de temps
Eléments pour l'ordonnancement
- Durée du processus ou durée d'exécution sur le coeur : à la durée en quantum P nécessaire à l'execution du processus.
- Date d'arrivĂ©e ou date de soumission : date oĂč le processus arrive dans la file d'attente.
- Date de terminaison: pour un processus P : durĂ©e Ă©coulĂ©e entre le temps 0 et le temps oĂč le processus est terminĂ©e P
- Temps d'exécution ou temps de séjour : différence entre le temps d'arrivée de P et le temps de terminaison de P.
- Temps d'attente d'un processus P : différence entre le temps d'execution et la durée du processus.
- Temps moyen d'attente : moyenne des temps d'attente de tous les processus
Nous allons voir ceci dans différents ordonnancements
II. L'ordonnancement SJFâïž
En exemple, nous allons traiter un ordonnancement avec le modĂšle SJF
Processus | P1 | P2 | P3 | P4 | P5 |
---|---|---|---|---|---|
Durée en quantum | 3 | 6 | 4 | 2 | 1 |
Date d'arrivée | 0 | 1 | 4 | 6 | 7 |
đ Etape 1 : classons les processus selon l'ordre croissant de leur durĂ©e : P5 (1 qt) < P4 (2qt) < P1 (3 qt) < P3 (3 qt) < P2 (6qt)
đ Etape 2 :
- Au début du traitement des processus l'horloge mesurant les quantums est à 0.
- P1 arrive en 0 , il n'y a pas d'autre processus en attente. L'OS execute P1 pendant 3 quantums
- A la fin de P1, l'horloge indique 3 quantums. Pendant le traitement de P1 seul P2 est arrivé. L'OS traite P2 et son traitement dure 6 quantums.
- A la fin du traitement de P2, l'horloge indique 9 quantums. Pendant le temps de traitement de P2, sont arrivés P3, P4 et P5. L'OS va traiter le plus court donc P5, puis il va traiter P4 en enfin il traite P3.
- A la fin du traitement des 5 processus, l'horloge indique 16 quantums
âïž Nous obtenons le schĂ©ma suivant :
Comment compléter le tableau suivant ?
Processus | P1 | P2 | P3 | P4 | P5 |
---|---|---|---|---|---|
Durée en quantum | 3 | 6 | 4 | 2 | 1 |
Date d'arrivée | 0 | 1 | 4 | 6 | 7 |
Date de terminaison | |||||
Temps d'exécution | |||||
temps d'attente |
Aides
- La date de terminaison (optionnelle) est la date de démarrage de l'exécution plus la durée en quantums
- Le temps d'exécution est la date de terminaison moins la date d'arrivée
- Le temps d'attente est le temps d'exécution moins la durée du processus
RĂ©ponse
Processus | P1 | P2 | P3 | P4 | P5 |
---|---|---|---|---|---|
Durée en quantum | 3 | 6 | 4 | 2 | 1 |
Date d'arrivée | 0 | 1 | 4 | 6 | 7 |
Date de terminaison | 3 | 9 | 16 | 12 | 10 |
Temps d'exécution | 3 | 8 | 12 | 6 | 3 |
temps d'attente | 0 | 2 | 8 | 4 | 2 |
III. Les ordonnancements FIFO et Round Robin (tourniquet)âïž
IV. Exercicesâïž
Exercice 1 :âïž
FIFO
Processus | P1 | P2 | P3 |
---|---|---|---|
Durée en quantum | 8 | 3 | 9 |
Date d'arrivée | 8 | 5 | 0 |
Représenter l'ordonnancement des processus ci-dessus à l'aide du modÚle FIFO.
RĂ©ponse
Exercice 2 :âïž
SJF
Processus | P1 | P2 | P3 | P4 |
---|---|---|---|---|
Durée en quantum | 8 | 5 | 9 | 2 |
Date d'arrivée | 4 | 0 | 3 | 7 |
Représenter l'ordonnancement des processus ci-dessus à l'aide du modÚle SJF.
RĂ©ponse
Exercice 3 :âïž
Round Robin
Processus | P1 | P2 | P3 |
---|---|---|---|
Durée en quantum | 8 | 5 | 9 |
Date d'arrivée | 1 | 0 | 3 |
Représenter l'ordonnancement des processus ci-dessus à l'aide du modÚle Round Robin (tourniquet)
RĂ©ponse
Exercice 4 :âïž
SJF et Round Robin
Les trois processus suivants doivent ĂȘtre exĂ©cutĂ©s simultanĂ©ment sur un ordinateur Ă un seul microprocesseur. Chaque instruction dure 1 quantum. Nous les noterons P1, P2 et P3.
- Lâordonnanceur du systĂšme dâexploitation utilise la mĂ©thode SJF «âŻplus court dâabordâŻÂ». SchĂ©matiser lâordre de traitement des instructions des 3 processus.
- Lâordonnanceur du systĂšme dâexploitation utilise la mĂ©thode du tourniquet. SchĂ©matiser lâordre de traitement des instructions des 3 processus. Au dĂ©part, on supposera que P1 est exĂ©cutĂ©, puis P2, puis P3.
RĂ©ponse
Exercice 5 :âïž
comparaison des algorithmes
5 processus, P1, P2, P3, P4, P5 sont dans une file d'attente dans cet ordre (P1 est le premier, P5 est le dernier). Ils arrivent tous en mĂȘme temps pour ĂȘtre traitĂ©. Leur exĂ©cution demande un temps total de service exprimĂ© en unitĂ©s arbitraires (quantum).
Processus | P1 | P2 | P3 | P4 | P5 |
---|---|---|---|---|---|
Durée en quantum | 10 | 1 | 2 | 1 | 5 |
- Décrire l'exécution des processus (schéma + tableau) dans le cadre des politiques d'ordonnancement FIFO, SJF, RR (avec un quantum de 1).
- Quelle est de ces trois politiques, celle qui correspond Ă un temps minimal d'attente moyen par processus?
RĂ©ponse
Temps d'attente moyen :
- RR : \(\dfrac{9+1+5+3+9}{5} = 5,4\)
- FIFO : \(\dfrac{0+10+11+13+14}{5} = 9,6\)
- SJF : \(\dfrac{9+0+2+1+4}{5} = 3,2\)
DĂ©tails :
QCMâïž
Comment s'appelle la gestion du partage du processeur entre différents processus?
- l'interblocage
- l'ordonnancement
- la planification
- la priorisation
- l'ordonnancement
L'ordonnanceur :
- donne des instructions pour réparer des processus cassés
- transforme un programme en processus
- planifie l'exécution des processus
- planifie l'exécution des processus
Un processus
- ne s'exĂ©cute jamais en mĂȘme temps qu'un autre processus sur le mĂȘme processeur.
- peut ĂȘtre mis en attente par l'ordonnancement du systĂšme d'exploitation
- réalise l'ensemble des ses instructions avant de rendre la main
- ne s'exĂ©cute jamais en mĂȘme temps qu'un autre processus sur le mĂȘme processeur.
- peut ĂȘtre mis en attente par l'ordonnancement du systĂšme d'exploitation
TP ordonnancementâïž
Le TP
Vous lirez le fichier Ă partir de Basthon
đ Vous devrez tĂ©lĂ©charger dans le mĂȘme dossier les deux fichiers suivants
đ TD Ă tĂ©lĂ©charger : Fichier TP_ordonnanceur_sujet_2023.ipynb
: "Clic droit", puis "Enregistrer la cible du lien sous"
đ Vous devez charger le module suivant : test_tp_ordonn_sjf.py dans le document : icone ouvrir fichier puis choisir Installer le module
đ module Ă tĂ©lĂ©charger : "Clic droit", puis "Enregistrer la cible du lien sous"
RĂ©ponse
đ Fichier TP_ordonnanceur_corr_2023.ipynb
: "Clic droit", puis "Enregistrer la cible du lien sous"
CrĂ©ditsâïž
Auteurs Mireille Coilhac, Valérie Mousseaux, Jean-Louis Thirot , sur la base du travail de :
- Olivier LĂ©cluse
- monlycéenumerique.fr
- courstechinfo.be