Vous êtes sur la page 1sur 73

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus, ordonnancement, commutation de contexte


GUINKO Tonguim Ferdinand
IBAM, Universit e de Ouagadougou

10 d ecembre 2009

1/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Mat eriel ayant servi ` a la conception de ce cours

Syst` emes dExploitation, Processus, Philippe BIDINGER, http ://www-verimag.imag.fr/ bidinger Programmation concurrente multi-thread, Fran coise BAUDE, Universit e de Nice Sophia-Antipolis http ://www.cours.polymtl.ca/inf3600/documentation/notes/ Syst` emes dexploitation, G erard Michel COCHARD, Picardie, France

2/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Sommaire

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

3/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

4/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

D enition et caract eristiques


D enition Programme qui sex ecute, ainsi que ses donn ees, sa pile, son compteur ordinal, son pointeur de pile et les autres contenus de registres n ecessaires ` a son ex ecution ; S equence dinstructions en langage machine, (cest ` a dire le binaire) charg e en m emoire (RAM) qui sex ecute par le processeur ; Entit e dynamique repr esentant lex ecution dun programme sur un processeur. Lorigine du concept de processus remonte au projet MULTICS vers 1960.
4/69 GUINKO Tonguim Ferdinand Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

D enition : exemple
Exemples de processus Ex ecution dun programme C ; Copie dun chier sur disque ; Transmission dune s equence de donn ees sur le r eseau. Bloc de contr ole de processus (PCB) Chaque processus est repr esent e dans le syst` eme dexploitation par un bloc de contr ole de processus (PCB). Il consiste en une zone de m emoire contenant plusieurs informations concernant un processus sp ecique, parmis lesquelles les suivantes :

5/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

Bloc de contr ole de processus (PCB)


Identicateur de processus ; Indications sur l etat du processus : elles comportent un mot d etat du processus (peut etre pr et, en ex ecution, bloqu e,etc) et les informations d ecrivantes en d etail cet etat ; Le contexte du processus : Ces informations sont :
Le compteur dinstruction : le compteur indique ladresse de linstruction suivante devant etre ex ecut ee par ce processus ; Les registres de lUC : Ils englobent des accumulateurs, des registres dindex et tous les registres qui permettent dadresser la m emoire utilis ee par le processus. Ces informations doivent etre sauvegard ees avec le compteur dinstructions quand il se produit une interruption, an de permettre au processus de continuer correctement par la suite.
6/69 GUINKO Tonguim Ferdinand Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

Bloc de contr ole de processus (suite)

Informations sur le scheduling de lUC : Ces informations comprennent la priorit e du processus, des pointeurs sur les les dattante de scheduling et tout autre param` etre de scheduling ; Informations de comptabilisation : Ces informations tiennent en compte la quantit e de temps processeur et temps re eel utilis ees, les limites de temps, etc.

7/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

Repr esentation interne dun processus

8/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

D enition et caract eristiques (suite)

Di erence entre processus et programme Le programme est une description statique ; Le processus est une activit e dynamique ; Il a une notion s equentielle dans le temps, ce qui signie quil a un d ebut, un d eroulement et une n ; Il a un etat qui evolue au cours du temps ; Lex ecution dun processus peut etre manuelle ou automatique.

9/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

Etats dun processus

Rappel : le processus a un etat qui evolue au cours du temps.

10/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

Exemple pratique
Exemple : Fabrication dun plat de haricot El ements n ecessaires Fabrication dun plat de haricot : processus ; Cuisinier(e) processeur ; Ustensiles de cuisine et feu ressources ; Ingr edients donn ees ; Recette programme ; Processus de fabrication Lire la recette ; M elanger les ingr edients ; Mettre dans la marmitte.

11/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

Fabrication dun plat de haricot : sc enarii possibles de l execution du processus


sc enario 1 : le cuisinier se fait piquer par une gu epe Suspendre la pr eparation du plat ; Basculer vers le processus chercher une pommade pour calmer la douleur ; Reprendre la pr eparation du plat de haricot. sc enario 2 : il faut pr eparer un 2e plat de haricot Pas besoin dune nouvelle recette ; Ajouter les ingr edients. Pour son ex ecution, un processsus n ecessite, en eet de consommer ou de produire des ressources.
12/69 GUINKO Tonguim Ferdinand Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

Etats dun processus (suite)

Etat logique

Causes de blocage : entr ee-sortie, attente dun signal, (entre autres wait, pause, sleep,...). En r ealit e, l etat actif comprend 2 sous etats. On a alors :

13/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

Etats dun processus (suite)

Actif ou Running ou elu ou en ex ecution : un processus actif peut etre arr et e, m eme sil peut poursuivre son ex ecution, si le SE d ecide dallouer le processeur ` a un autre processus ; Pr et ou Ready ou ex ecutable : il attend un ev` enement ext erieur (par exemple une ressource ; lorsque la ressource est disponible, il passe ` a l etat pr et) pour pouvoir continuer ; Bloqu e ou Blocked : suspendu provisoirement pour permettre lex ecution dun autre processus.

14/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

Etats dun processus (suite)


Etat eectif

15/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

Etats dun processus (suite)

Le mod` ele processus permet une approche claire du fonctionnement de lordinateur : processus utilisateurs, processus syst` emes (processus terminaux, processus disques, etc.) qui se bloquent par d efaut de ressource, qui passent de l etat elu ` a l etat pr et. Un processeur est aect e ou retir e` a un processus par un module du syst` eme dexploitation appel e dispatcher (ou ordonnanceur de bas niveau) ; cette situation fait que les transitions entre les 3 etats Actif, Pr et, Bloqu e des processus sop` erent dans les conditions suivantes :

16/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

Transitions entre les etats dun processus


Transition Actif Bloqu e : le processus n ecessite une ressource manquante : le processeur lui est retir e et il se met en attente ; Transition Bloqu e Pr et : la ressource devient disponible et est allou ee au processus qui se r eveille et passe ` a l etat ex ecutable ; Transition Pr et Actif : lordonnanceur de bas niveau (dispatcher) choisit le processus pour lui donner le processeur ; Transition Actif Pr et : le processeur est retir e au processus pour une raison de gestion du syst` eme (un ev enement est survenu et un nouveau choix doit etre fait ou encore le quantum de temps du processus sur le processeur sest ecoul e).
17/69 GUINKO Tonguim Ferdinand Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

Transitions entre les etats dun processus (suite)

18/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Processus et bloc de contr ole (PCB) Contexte dun processus

Contexte dun processus


D enition Ensemble des informations d ecrivant l etat dun processus ; Ensemble des informations n ecessaires pour la reprise de lex ecution du processus ; Le contexte dun processus se compose des donn ees suivantes : Contexte dun processus (suite) Sur le processeur (mot d etat, registres) ; Donn ees sur lemploi de la m emoire (zones utilis ees) ; Donn ees caract eristiques du processus (nom, priorit e droits, etc.
GUINKO Tonguim Ferdinand Processus, ordonnancement, commutation de contexte

19/69

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

20/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Ordonnancement

Un processeur ne peut ex ecuter quun seul processus ` a la fois ; Or un processus P 1 peut avoir besoin de la ressource processeur pour, par exemple, eectuer des calculs ; et au m eme moment, un processus P 2 peut avoir besoin de la ressource processeur pour, par exemple, d eclencher une interruption. Pour la tr` es grande majorit e des ordinateurs, avoir un seul processeur implique de ne pouvoir eectuer quun traitement ` a la fois ; En cons equence, la multiprogrammation entra ne une concurrence des processus.

20/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Ordonnancement : d enition

D enition Lordonnancement est la strat egie dattribution des ressources aux processus qui en font la demande ; Lordonnanceur est le composant du noyau du syst` eme dexploitation qui choisit les processus qui vont etre ex ecut es par le(les) processeur(s) dun ordinateur. Un ordonnanceur fait face ` a deux probl` emes principaux :
le choix du processus ` a ex ecuter, et le temps dallocation du processeur au processus choisi.

21/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

R ole de lordonnanceur de processus (t aches)


Dans un syst` eme multi-t aches : De nombreux processus attendent quun ev enement se produise ; ils nont pas besoin du processeur mais doivent pouvoir lobtenir en priorit e d` es que l ev enement attendu se produit ; Certains processus souhaitent utiliser le CPU longtemps et de fa con intensive ; ils souhaitent garder le processeur le plus longtemps possible ; Conits dint er et ! Lordonnanceur joue le r ole dun chef dorchestre ou celui dun arbitre.
22/69 GUINKO Tonguim Ferdinand Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Ordonnancement (suite)

Un des r oles du syst` eme dexploitation et plus pr ecis ement de lordonnanceur du noyau est de permettre ` a tous ces processus de sex ecuter et dutiliser le processeur de mani` ere optimale ; si plusieurs processus sont pr ets, le syst` eme dexploitation doit g erer lallo cation du processeur aux di erents processus ` a ex ecuter. Cest lordonnanceur qui sacquitte de cette t ache ; Pour arriver ` a donner lillusion que plusieurs t aches sont trait ees simultan ement, lordonnanceur du noyau du syst` eme sappuie sur les notions de commutation de contexte et dordonnancement.

23/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Suit une certaine strat egie (algorithme) pour pouvoir d ecider de lallocation de la ressource convoit ee : FIFO, avec ou sans priorit e, ... Encore faut-il que le processus qui d etient actuellement la ressource (CPU) veuille bien la rendre !

24/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

R esum e des objectifs de lordonnanceur

Sassurer que chaque processus en attente dex ecution re coive sa part de temps processeur ; Minimiser le temps de r eponse ; Utiliser le processeur ` a 100% ; Utilisation equilibr ee des ressources ; Prendre en compte des priorit es ; Etre pr edictibles.

25/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Classication des ordonnanceurs

Il est possible de classier les ordonnanceurs suivant la m ethode de s election des processus A long terme ; A moyen terme ; Court terme. ou suivant la m ethode dallocation des ressources. Avec r equisition (non pr eemptif) ; Sans r equisition (pr eemptif).

26/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Ordonnancement avec | sans r equisition


Les processus qui d etiennent une ressource requise pour un autre processus peuvent se montrer r ecalcitrant ` a vouloir lib erer cette ressource. On distingue donc 2 types dordonnancements : Ordonnancement sans r equisition (non pr eemptif) La ressource est rendue volontairement : le syst` eme dexploitation choisit le prochain processus ` a ex ecuter, en g en eral, le Premier Arriv e est le Premier Servi, PAPS (First-Come First-Served FCFS) ou le plus court dabord (Short Job First SJF). Il lui alloue le processeur jusqu` a ce quil se termine ou quil se bloque (en attente dun ev enement). Il ny a pas de r equisition.

27/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Ordonnancement avec r equisition (pr eemptif)


Ordonnancement sans r equisition (non pr eemptif) La ressource est r equisitionn ee (d` es que possible) : pour sassurer quaucun processus ne sex ecute pendant trop de temps, les ordinateurs ont une horloge electronique qui g en` ere p eriodiquement une interruption. A chaque interruption dhorloge, le syst` eme dexploitation reprend la main et d ecide si le processus courant doit poursuivre son ex ecution ou sil doit etre suspendu pour laisser place ` a un autre. Le syst` eme dexploitation choisit dans ce cas dappliquer le principe de lordonnancement circulaire (tourniquet, Round robin) le plus petit temps de s ejour (Shortest Remaining Time qui est la version pr eemptive de lalgorithme SJF).

28/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Ordonnanceurs suivant la m ethode de s election des processus


A long terme : Lordonnanceur fait la s election de programmes ` a admettre dans le syst` eme pour leur ex ecution. Les programmes admis deviennent des processus ` a l etat pr et. Ladmission d epend de la capacit e du syst` eme (degr e de multiprogrammation) et du niveau de performance requis. A moyen terme : Il fait la s election de processus d ej` a admis ` a d ebarquer ou rembarquer sur la m emoire. Il eectue ses t aches de gestion en fonction du degr e de multiprogrammation du syst` eme, et aussi des requ etes dE/S des p eriph eriques.

29/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Ordonnanceurs suivant la m ethode de s election des processus (suite)

A court terme : Lordonnanceur ` a court terme a comme t ache la gestion de la le des processus pr ets. Il s electionne le prochain processus ` a ex ecuter. Il eectue aussi le changement de contexte des processus. Il peut implanter un ordonnancement pr eemptif, non pr eemptif, ou coop eratif. Lordonnanceur est activ e par un ev enement : interruption du temporisateur, interruption dun p eriph erique, appel syst` eme ou signal.

30/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Premier Arriv e et Premier Servi et Plus court dabord


Premier Arriv e et Premier Servi, (PAPS) (First-Come First-Served (FCFS)) Premier Arriv e est le Premier Servi (PAPS) ; Plus court dabord (Short Job First SJF) : lordonnanceur choisit, parmi le lot de processus ` a ex ecuter celui qui a le plus petit court temps dex ecution : strat egie adapt ee au traitement par lots de processus dont les temps maximaux dex ecution sont connus ou x es par les utilisateurs car elle ore un meilleur temps moyen de s ejour ; Le temps de s ejour dun processus (temps de rotation ou de virement) est lintervalle de temps entre la soumission du processus et son ach` evement.
31/69 GUINKO Tonguim Ferdinand Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Premier Arriv e et Premier Servi : exemple


Soit un lot de quatre processus dont les temps respectifs dex ecution sont a, b , c et d . Le premier processus se termine au bout du temps a ; le deuxi` eme processus se termine au bout du temps a + b ; le troisi` eme processus se termine au bout du temps a + b + c ; le quatri` eme processus se termine au bout du temps a + b + c + d . Le temps moyen t de s ejour du processus est : t= 4a + 3 b + 2 c + d 4

On obtient un meilleur temps de s ejour pour a b b c d . Toutefois, lordonnancement du plus court dabord est optimal que si les travaux sont disponibles simultan ement.
GUINKO Tonguim Ferdinand Processus, ordonnancement, commutation de contexte

32/69

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Exercice 1
Consid erons cinq travaux A, B, C, D et E, dont les temps dex ecution et leurs arrivages respectifs sont donn es dans le tableau suivant. Faire un sch ema qui illustre son ex ecution et calculer le temps de s ejour de chaque processus, le temps moyen de s ejour, le temps dattente et le temps moyen dattente en utilisant : Premier arriv e premier servi (PAPS) ; Le plus court dabord (SJF). Processus A B C D E
33/69

Dur ee dex ecution 3 6 4 2 1


GUINKO Tonguim Ferdinand

Date darrivage 0 1 4 6 7
Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Algorithmes avec r equisition (pr eemptifs) : m ecanisme


Ordonnanceurs pr eemptifs : sassurer quaucun processus ne sex ecute pendant trop de temps, les ordinateurs ont une horloge electronique qui g en` ere p eriodiquement une interruption ; A chaque interruption dhorloge, le SE reprend la main et d ecide si le processus courant doit poursuivre son ex ecution ou sil doit etre suspendu pour laisser place ` a un autre ; Sil d ecide de suspendre son ex ecution au prot dun autre, il doit dabord sauvegarder l etat des registres du processeur avant de charger dans les registres les donn ees du processus ` a lancer. Cest quon appelle la commutation de contexte ou le changement de contexte.
34/69 GUINKO Tonguim Ferdinand Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Algorithmes avec r equisition (pr eemptifs) : m ecanisme (suite)


Le processeur passe donc dun processus ` a un autre en ex ecutant chaque processus pendant quelques dizaines ou centaines de millisecondes. Le temps dallocation du processeur au processus est appel e quantum. Cette commutation entre processus doit etre rapide, cest-` a-dire, exiger un temps nettement inf erieur au quantum. Le processeur, ` a un instant donn e, nex ecute r eellement quun seul processus, mais pendant une seconde, le processeur peut ex ecuter plusieurs processus et donne ainsi limpression de parall elisme (pseudo-parall elisme).
35/69 GUINKO Tonguim Ferdinand Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Probl` emes

Choix de la valeur du quantum. Choix du prochain processus ` a ex ecuter dans chacune des situations suivantes :
Le processus en cours se bloque (passe ` a l etat Attente). Le processus en cours passe ` a l etat Pr et (n du quantum...). Un processus passe de l etat Attente ` a l etat Pr et (n dune E/S). Le processus en cours se termine.

36/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Plus petit temps de s ejour

Lordonnancement du plus petit temps de s ejour ou Shortest Remaining Time est la version pr eemptive de lalgorithme SJF. Un processus arrive dans la le de processus, lordonnanceur compare la valeur esp er ee pour ce processus contre la valeur du processus actuellement en ex ecution. Si le temps du nouveau processus est plus petit, il rentre en ex ecution imm ediatement.

37/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Tourniquet

Algorithme ancien, simple, able et tr` es utilis e. Il m emorise dans une le du type FIFO (First In First Out) la liste des processus pr ets, cest-` a-dire en attente dex ecution.

38/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Tourniquet (suite) : choix du processus ` a ex ecuter


Il alloue le processeur au processus en t ete de le, pendant un quantum de temps. Si le processus se bloque ou se termine avant la n de son quantum, le processeur est imm ediatement allou e` a un autre processus (celui en t ete de le). Si le processus ne se termine pas au bout de son quantum, son ex ecution est suspendue. Le processeur est allou e` a un autre processus (celui en t ete de le). Le processus suspendu est ins er e en queue de le. Les processus qui arrivent ou qui passent de l etat bloqu e` a l etat pr et sont ins er es en queue de le.

39/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Tourniquet (suite) : d etermination de la valeur du quantum

Choix de la valeur du quantum. Un quantum trop petit provoque trop de commutations de processus et abaisse lecacit e du processeur. Un quantum trop elev e augmente le temps de r eponse des courtes commandes en mode interactif. Un quantum entre 20 et 50 ms est souvent un compromis raisonnable.

40/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Exercice 2

Soient deux processus A et B pr ets tels que A est arriv e en premier suivi de B, 2 unit es de temps apr` es. Les temps de UCT n ecessaires pour lex ecution des processus A et B sont respectivement 15 et 4 unit es de temps. Le temps de commutation est suppos e nul. Calculer le temps de s ejour de chaque processus A et B, le temps moyen de s ejour, le temps dattente, le temps moyen dattente, et le nombre de changements de contexte pour :
SRT Round robin (quantum = 10 unit es de temps) Round robin (quantum = 3 unit es de temps)

41/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Exercice 3
Soient trois processus A, B et C. Le processus A arrive en premier suivi de B (20 msec apr` es), puis C (46 msec apr` es A). On suppose que lex ecution du processus A n ecessite 80 msec de temps UCT. Lex ecution du processus B n ecessite dabord 50 msec de temps UCT, bloquera ensuite durant 20 msec pour une entr ee/sortie, puis exigera nalement 30 msec de temps UCT. Lex ecution du processus C n ecessite 40 msec de temps UCT. Le temps de changement de contexte est de 1 msec. Le tableau suivant montre les diagrammes de Gantt obtenus pour des quantum de 30 msec, 50 msec et 20 msec. Le tableau suivant donne les temps de s ejours moyens pour chaque situation.

42/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Exercice 3 (suite)

Qt 30 50 20

165 187 7 173 184 4 178 189 9

Changement de contexte 161 151 161

Temps de s ejour moyen

43/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

inconv enients du Tourniquet


Lalgorithme round robin permet une r epartition equitable du processeur ; Cependant il nest pas int eressant si certains processus sont plus importants ou urgents que dautres ; Lordonnanceur ` a priorit e attribue ` a chaque processus une priorit e. Le choix du processus ` a elire d epend des priorit es des processus pr ets ; Les processus de m eme priorit e sont regroup es dans une le du type FIFO. Il y a autant de les quil y a de niveaux de priorit e. Lordonnanceur choisit le processus le plus prioritaire qui se trouve en t ete de le. En g en eral, les processus de m eme priorit e sont ordonnanc es selon lalgorithme du tourniquet.
44/69 GUINKO Tonguim Ferdinand Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Attribution et evolution des priorit es

Pour emp echer les processus de priorit e elev ee de sex ecuter ind eniment, lordonnanceur diminue r eguli` erement la priorit e du processus en cours dex ecution. La priorit e du processus en cours est compar ee r eguli` erement ` a celle du processus pr et le plus prioritaire (en t ete de le). Lorsquelle devient inf erieure, la commutation a lieu. Dans ce cas, le processus suspendu est ins er e en queue de le correspondant ` a sa nouvelle priorit e. Lattribution et l evolution des priorit es d ependent des objectifs x es et de beaucoup de param` etres.

45/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Exemple
Les processus qui font beaucoup dE/S (qui sont souvent en attente) doivent acqu erir le processeur d` es quils le demandent, an de leur permettre de lancer leur requ ete suivante dE/S. Lorsquun processus passe de l etat elu ` a l etat bloqu e, sa priorit e est recalcul ee. Sa nouvelle valeur est le rapport : quantum/temps r eellement utilis e par le processus. Les processus qui ont le plus grand rapport sont les plus prioritaires : Si le quantum = 100 ms et le temps utilis e = 2 ms, la nouvelle priorit e est 50 ; Si le quantum = 100 ms et le temps utilis e = 50 ms, la nouvelle priorit e est 2.

46/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Files multiples (quantum variable)


Pour eviter quil y ait beaucoup de commutations pour les processus consommateurs de temps UCT, il est pr ef erable dallouer un plus grand quantum ` a ces processus. Lorsquun processus passe ` a l etat elu : Pour la premi` ere fois, le processeur lui est allou e pendant un quantum ; Pour la seconde fois, le processeur lui est allou e pendant 2 quantum... Pour la n` eme fois, le processeur lui est allou e pendant 2n1 quantum.

47/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Files multiples (quantum variable) suite ...

Chaque processus a une priorit e. Cette derni` ere d epend du nombre de quantum qui lui sera allou e lors de sa prochaine activation. Les processus dont le nombre de quantum est le plus petit sont les plus prioritaires. Les processus pr ets sont r epartis selon leur priorit e dans des les (FIFO). Dabord on fait l election du processus le plus prioritaire qui se trouve en t ete de le. Lorsque lex ecution dun processus est suspendue pour la n-i` eme fois, sa priorit e est recalcul ee (2n ) puis il est ins er e` a la queue de la le appropri ee.

48/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Ordonnancement ` a deux niveaux

Lors dune commutation, si le processus elu nest pas en m emoire, il faut le charger en m emoire ; Le temps de commutation est deux ` a trois fois plus elev e que celui des processus qui se trouvent en m emoire centrale ; Pour eviter ces va-et-vient entre le disque et la m emoire lors dune commutation, lordonnanceur ` a deux niveaux d eplace les processus entre le disque et la m emoire (haut niveau) et choisit le processus ` a ex ecuter parmi ceux qui sont en m emoire (bas niveau).

49/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition Objectifs de lordonnanceurs Types dordonnanceurs Algorithmes dordonnancement

Ordonnancement ` a deux niveaux (suite)

P eriodiquement, lordonnanceur de haut niveau retire de la m emoire les processus qui y sont rest es assez longtemps et les remplace par des processus qui sont rest es sur le disque pendant trop de temps. Pour elire un processus, lordonnanceur de bas niveau se restreint au processus en m emoire.

50/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

51/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition

Commutation de contexte

Une commutation de contexte (context switch) consiste ` a sauvegarder l etat dun processus et ` a restaurer l etat dun autre processus de fa con ` a ce que des processus multiples puissent partager les ressources dun seul processeur dans le cadre dun syst` eme dexploitation multit ache.

51/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition

M ecanismes de commutation
Commutation : r ole du noyau du SE D eterminer le prochain processus elu (en g en eral, les processus sont allou es dans lordre darriv ee, mais il peut y avoir des priorit es). Le m ecanisme utilise une le dattente. R ealiser lallocation proprement dite. Deux etapes :
Sauvegarder le contexte du processus elu actuel (contenu des registres) pour pouvoir le retrouver ult erieurement, lors dune prochaine allocation. Restaurer le contexte du nouveau processus elu
Restaurer les structures de donn ees qui d enissent la m emoire virtuelle. Charger les registres, puis le mot d etat du processus, ce qui lance lex ecution du nouveau processus elu.

52/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition

M ecanisme de commutation
Trois (3) moyens par lesquels le m ecanisme de commutation peut sex ecuter : Commutation par interruption Par interruptions. Commutation par trap ou d eroutement sur erreur Par trap ou d eroutement sur erreur : une extension du m ecanisme des interruptions. En cas de d etection derreur interne au processus (ex : division par 0, erreur dadressage), le contr ole est pass e au SE en cas derreur mettant en cause son int egrit e (ex : erreur dadressage) ou ` a une fonction de traitement de lerreur du processus courant.
53/69 GUINKO Tonguim Ferdinand Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition

M ecanismes de commutation (suite)

Commutation par appel au superviseur (noyau du SE) Par appel au superviseur (noyau du SE) : dans un SE multi-utilisateur multi-programm e, toutes les interruptions sont contr ol ees par le superviseur. Une raison (pas unique) : l ev enement qui interrompt un processus est peut etre destin e` a un autre ; comme le SE doit garantir lind ependance des processus, cest lui qui doit r ecup erer l ev enement pour le transmettre au processus destinataire. Ainsi, en cas dinterruption :

54/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition

M ecanismes de commutation (suite)

on sauve le mot d etat et le contexte du processus en cours et on passe en mode superviseur ; le traitement de linterruption est r ealis e soit par le superviseur lui-m eme (horloge, coupure), soit par un processus sp ecique (pilote de p eriph erique dE/S), soit par le processus interrompu (erreur interne) ; on elit un nouveau processus ` a ex ecuter (peut- etre celui qui avait et e interrompu).

55/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition

Commutation de processus : sch ema

56/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition

Allocation du processeur : exemple 1

57/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition

Allocation du processeur : explications de lexemple 1


Le processeur est allou e par tranches de temps successives aux processus pr ets ` a sex ecuter (non bloqu es) ; Dans la pratique, la valeur du quantum est denviron 10 ms (temps dex ecution de quelques millions dinstructions sur un processeur ` a 1 GHz) ; La commutation entre processus est d eclench ee par une interruption dhorloge ; La commutation entre processus prend un temps non nul (de lordre de 0,5 ms) ; La commutation entre processus est r ealis ee par un programme du noyau appel e ordonnanceur (scheduler).
58/69 GUINKO Tonguim Ferdinand Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition

Allocation du processeur : exemple 2

59/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition

Allocation du processeur : explications de lexemple 2

Lorsquun processus est bloqu e (par exemple, parce quil a demand e une entr ee/sortie, ou a appel e sleep), il doit rendre le processeur puisquil ne peut plus lutiliser ; Le processeur pourra lui etre r eallou e` a la n de sa p eriode de blocage (souvent indiqu ee par une interruption) ; Cette r eallocation pourra se faire soit imm ediatement (comme dans lexemple donn e), soit plus tard (apr` es le quantum), selon la politique adopt ee.

60/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

D enition

Cons equences du partage du CPU entre processus, dun syst` eme multi-tache
Un processus peut perdre le CPU quasiment nimporte quand
on dit aussi passer la main, etre pr eempt e; ne jamais faire dhypoth` ese sur le quand dans les programmes ;

Ex ecution concurrente
possibilit e que lex ecution de plusieurs processus sentrelace, voire ait lieu v eritablement en m eme temps en parall` ele, si plusieurs CPUs ;

Dicult es de la gestion de la concurrence


viennent du partage (m eme non simultan e) des ressources (chiers, zones m emoire partag ees, p eripheriques, etc.)

61/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Cr eation de processus Destruction de processus Suspension de processus Activation de processus Modication de la priorit e des processus

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

62/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Cr eation de processus Destruction de processus Suspension de processus Activation de processus Modication de la priorit e des processus

Op erations de base sur les processus

5 op erations de base sur les processus peuvent etre d enies : Cr eation ; Destruction ; Suspension ; Activation ; Modication de la priorit e.

62/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Cr eation de processus Destruction de processus Suspension de processus Activation de processus Modication de la priorit e des processus

Cr eation de processus

Quand les processus sont ils cr ees ? Au d emarrage du syst` eme ;


d emons, serveurs.

A la demande dun utilisateur ;


double-clic sur une ic one, commande shell ; job soumis dans les syst` emes de traitement par lots (batch).

A la demande dun programme.

63/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Cr eation de processus Destruction de processus Suspension de processus Activation de processus Modication de la priorit e des processus

Cr eation de processus (suite)

Sur le plan technique Un processus nest cr e e que par un autre processus via un appel syst` eme ; Ce processus cr ee ` a son tour dautres processus (processus p` ere et ls).

64/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Cr eation de processus Destruction de processus Suspension de processus Activation de processus Modication de la priorit e des processus

Destruction de processus
Terminaison volontaire Terminaison normale (apr` es ex ecution de sa derni` ere instruction ou par auto-destruction (exit dans UNIX)) ; Terminaison suite ` a une erreur ; Dans les deux cas : appel syst` eme exit() ou return dans la fonction main(). Terminaison involontaire Erreur fatale (erreur de segmentation) ; D etruit (tu e) par un autre processus (kill(dans UNIX)) ; D etruit (tu e) par le syst` eme.
65/69 GUINKO Tonguim Ferdinand Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Cr eation de processus Destruction de processus Suspension de processus Activation de processus Modication de la priorit e des processus

Destruction de processus

Un processus d etruit nexiste plus pour le SE. Apr` es la destruction Ressources lib er ees ; Bloc de contr ole eac e.

66/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Cr eation de processus Destruction de processus Suspension de processus Activation de processus Modication de la priorit e des processus

Suspension de processus

Progression g ee ; Arr et de lex ecution ; Entra ne la sauvegarde de son contexte.

67/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Cr eation de processus Destruction de processus Suspension de processus Activation de processus Modication de la priorit e des processus

Activation de processus

Si un processus demande des ressources (autres que le CPU) non disponibles, il est mis dans l etat pr et ou en attente ; Si les ressources deviennent disponibles : r eveil du processus et passage ` a l etat pr et : le processus dispose des ressources dont il a besoin sauf du CPU.

68/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

G en eralit es Ordonnancement des processus et des t aches Commutation des processus Op erations de base sur les processus

Cr eation de processus Destruction de processus Suspension de processus Activation de processus Modication de la priorit e des processus

Modication de la priorit e des processus

Modication dune information dans le bloc de contr ole du processus ; La modication de la priorit e est utile pour lalgorithme dordonnancement.

69/69

GUINKO Tonguim Ferdinand

Processus, ordonnancement, commutation de contexte

Vous aimerez peut-être aussi