Vous êtes sur la page 1sur 45

Universit Med.

V Souissi - ENSET DE RABAT - 1 GLR

HACHEM EL YOUSFI ALAOUI 2012 -2013


ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

Concepts lmentaires
Programme: Un programme est une suite fige

d'instructions, un ensemble statique. Processus: cest l'instance d'excution d'un programme dans un certain contexte pour un ensemble particulier de donnes. Espace adresse dun processus: ensembles des locations en mmoire auxquelles le processus est autoris accder = = = > Espace virtuel Temps partag: dans un espace multiprogramm, les diffrents processus doivent se partager laccs aux ressources (UCT, mmoire et priphriques) Une fraction de temps doit tre accord chacun des processus

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

Contexte dun processus


Contexte d'un processus: Le contexte d'un vnement

inclut les circonstances et conditions qui l'entourent Cest lensemble des conditions sous lesquelles un dispositif est en train d'tre utilis. Il existe deux contextes : le contexte matriel et le contexte logiciel. Le contexte matriel: Etat des registres un instant t : Le contexte logiciel contient des informations sur les conditions et droits d'accs aux ressources de la machine . Le bloc de contrle d'un processus (en anglais Process Control Block ou PCB) est une structure de donnes qui contient toutes les informations relatives au contexte d'un processus.

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

PCB - Dtails
Le PCB est compos des lments fondamentaux suivants: Un tat Un espace d'adressage Gestion de la mmoire Table de fichiers ouverts Un ou plusieurs contexte(s)

d'xecution Un compteur ordinal (PC) Des registres de donnes Une pile


ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

Etats dun processus


Un processus peut tre dans lun des cinq tats diffrents: nouveau,

prt, lu(en excution), en attente, fini.

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

Processus Etats et transitions

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

Mcanisme de changement de contexte

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

Mcanisme de gestion des processus


Un processus est constitu dune alternance de

sections durant lesquelles il est actif, en contrle de lUCT et en attente dE/S. Nous allons nous intresser deux mcanismes de gestion des processus
Ordonnancement (Scheduling): Effectu par un

rpartiteur quidcide quels processus doivent tre admis, lequel doit tre activ; etc. Synchronisation: certains procesus peuvent avoir accder aux mmes ressources et il faut grer les droits daccs.
ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

Ordonnanceurs (schedulers)
Programmes qui grent lutilisation de ressources de

l`ordinateur Dans un systme multiprogramm, n processus sont en concurrence pour laccs aux ressources.
Un (au plus) de ces processus peut tre dans lUCT
Plusieurs processeurs pourront tre en attente dE/S Dautres seront prts occuper lUCT.

File dattente :
Une file dattente pour les processus prts pour accder lUCT. Une file dattente pour les processus en attente dun priphrique ou E/S
ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

Ordonnancement de processus (court terme)

Dans le cas 1 et 4 il y a ordonnancement de processus et

l'ordonnancement est dit non-premptif Dans le cas 2 et 3il peut y avoir ordonnancement de processus et l'ordonnancement est dit premptif
ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

Ordonnancement moyen terme


Le manque de ressources peut parfois forcer le SE suspendre des processus ils seront plus en concurrence avec les autres pour des ressources ils seront repris plus tard quand les ressources deviendront disponibles Ces processus sont enlevs de mmoire centrale et mis en mmoire secondaire, pour tre repris plus tard swap out, swap in , va-et-vient
ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

Ordonnanceurs court et moyen terme

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Ordonnancement Processus : Concepts de base


La multiprogrammation est conue pour obtenir une utilisation maximale des ressources, surtout lUCT Lordonnanceur UCT est la partie du SE qui dcide quel processus dans la file ready/prt obtient l UCT quand elle devient libre
doit viser une utilisation optimale de l UCT

lUCT est la ressource la plus prcieuse dans un ordinateur, donc nous parlons delle
Cependant, les principes que nous verrons sappliquent

aussi l ordonnancement des autres ressources (units E/S, etc).


ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

L ordonnanceur doit prendre sa dcision chaque fois que le processus excutant est interrompu, c-.-d.

Quand invoquer lordonnanceur un processus se se prsente en tant que nouveau ou se


termine ou un processus excutant devient bloqu en attente un processus change dexcutant/running prt/ready un processus change de attente prt/read en conclusion, tout vnement dans un systme cause une interruption de lUCT et lintervention de lordonnanceur, qui devra prendre une dcision concernant quel proc ou fil aura lUCT aprs

Premption: on a premption dans les derniers deux cas

si on enlve lUCT un processus qui lavait et peut continuer sen servir Dans les 1ers deux cas, il ny a pas de premption
ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Ordonnancement : Critres
Utilisation UCT: pourcentage dutilisation Dbit = Throughput: nombre de processus qui compltent dans l unit de temps Temps de rotation = turnaround: le temps pris par le processus de son arrive sa terminaison. Temps dattente: attente dans la file prt (somme de tout le temps pass en file prt) Temps de rponse (pour les systmes interactifs): le temps entre une demande et la rponse
ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

ENSET DE RABAT 2010-2011

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Ordonnancement : Critres

Utilisation UCT: pourcentage dutilisation

ceci est maximiser

Dbit = Throughput: nombre de processus qui compltent dans l unit de temps

ceci est maximiser

Temps de rotation (turnaround): temps terminaison moins temps arrive

minimiser minimiser

Temps dattente: attente dans la file prt

Temps de rponse (pour les systmes interactifs): le temps entre une demande et la rponse

minimiser
ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Ordonnancement: Algorithmes
FCFS ou PAPS

First Come First Served SJF ou Plus court dabord Shortest Job First RR ou le tourniquet Round-Robin Ordonnancement par priorit avec/sans files d'attente multiples
ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

come, first serve, FCFS)


Exemple:

Processus Temps de cycle P1 24 P2 3 P3 3 P Si les processus1arrivent au temps P2 dans P3 0 lordre: P1 , P2 , P3 Le diagramme Gantt est:
0 24 27 30

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Premier arrive, premier servi


Utilisation UCT = 100% Dbit = 3/30 = 0,1
3 processus complts en 30 units de temps

Temps de rotation moyen: (24+27+30)/3 = 27

P1 0 24

P2 27

P3 30

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Tenir compte du temps darrive!


Dans le cas o les processus arrivent des moments

diffrents, il faut soustraire les temps darrive Exercice: rpter les calculs si:
P0 arrive temps 0 P1 arrive temps 2 P3 arrive temps 5

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

FCFS Scheduling (Cont.)


P2 0 3 P3 6 P1

Si les mmes processus arrivent dans lordre ; P2 , P3 , P1 . Le diagramme de Gantt est:

30

Temps dattente pour P1 = 6 P2 = 0 P3 = 3 Temps moyen dattente: (6 + 0 + 3)/3 = 3 Beaucoup mieux! Donc pour cette technique, le temps dattente moyen

peut varier grandement

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Plus Court dabord = Shortest Job First (SJF)

Le processus le plus court part le premier


Optimal en principe du point de vue du

temps dattente moyen


(v. le dernier exemple)

Mais comment savons-nous

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

SJF avec premption (rquisition) ou non


Avec premption: si un processus qui dure moins que

le restant du processus courant se prsente plus tard, lUCT est donne ce nouveau processus
SRTF: shortest remaining-time first

Sans premption: on permet au processus courant de

terminer son cycle


Observation: SRTF est plus logique car de toute faon le

processus excutant sera interrompu par larrive du nouveau processus

Il est retourn ltat prt


ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Example de SJF sans premption


Processus P1 P2 P3 P4

Arrive 0 2 4 5

Cycle 7 4 1 4

SJF (sans premption)


P1
0 3 P2 arr. P3 arr. 7 P4 arr

P3
8

P2
12

P4
16

Temps dattente moyen = (0 + 6 + 3 + 7)/4 = 4


ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Exemple de SJF avec premption SRTF


Processus P1 P2 P3 P4 SJF (premptive)
P1
0

Arrive 0 2 4 5

Cycle 7 4 1 4

P2

P3

P2

P4
11

P1
16

P2 arr. P3 arr. P4 arr

Temps moyen d`attente = (9 + 1 + 0 +2)/4 = 3

P1 attend de 2 11, P2 de 4 5, P4 de 5 7
ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Le plus court dabord SJF: critique

Difficult destimer la longueur lavance Les processus longs souffriront de famine lorsquil y a

un apport constant de processus courts La premption est ncessaire pour environnements temps partag
Un processus long peut monopoliser lUCT sil est le 1er

entrer dans le systme et il ne fait pas dE/S

Il y a assignation implicite de priorits: prfrences

aux travaux plus courts


ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

utilis en pratique
Chaque processus est allou un quantum de temps (p.ex.

10-100 millisecs.) pour sexcuter


(tranche de temps)

Sil sexcute pour un quantum entier sans autres

interruptions, il est interrompu par la minuterie et l UCT est donne un autre processus Le processus interrompu redevient prt ( la fin de la file) Mthode premptive
P[0] P[1]
P[7] P[6] P[5] P[4]
ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

P[2] P[3]

La file prt est un cercle (dont RR)

Exemple: Tourniquet Quantum = 20


Processus P1 P2 P3 P4 Cycle 53 17 68 24

P1 0

P2 20 37

P3 57

P4 77

P1

P3 97 117

P4

P1

P3

P3

121 134 154 162

Normalement, temps de rotation (turnaround) plus lv que SJF mais temps attente moyen meilleur contrlez!
ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Un petit quantum augmente les commutations de contexte (temps de SE)

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Choix du quantum pour le tourniquet

doit tre beaucoup plus grand que le temps requis pour excuter le changement de contexte doit tre un peu plus grand que le cycle typique (pour donner le temps la plupart des processus de terminer leur cycle, mais pas trop pour viter de pnaliser les processus courts)

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Priorits
Affectation dune priorit chaque processus (p.ex.

un nombre entier)
souvent les petits chiffres dnotent des hautes

priorits

0 la plus haute

LUCT est donne au processus prt avec la plus

haute priorit
avec ou sans premption il y a une file prt pour chaque priorit

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Problme possible avec les Famine: les processus moins prioritaires narrivent priorits jamais excuter
Solution: vieillissement: modifier la priorit dun processus en fonction de son ge et de son historique dexcution le processus change de file d`attente Plus en gnral, la modification dynamique des

priorits est une politique souvent utilise

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Files plusieurs niveaux (multiples)


La file prt est spare en plusieurs files, p.ex.
travaux darrire-plan (background - batch) travaux de premier plan (foreground - interactive)

Chaque file a son propre algorithme d ordonnancement, p.ex. FCFS pour arrire-plan tourniquet pour premier plan Comment ordonnancer entre files? Priorit fixe chaque file famine possible, ou Chaque file reoit un certain pourcentage de temps UCT, p.ex. 80% pour arrire-plan 20% pour premier plan
ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Ordonnancement avec files multiples

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Files multiples et retour


Un processus peut passer d une file l autre, p.ex.

quand il a pass trop de temps dans une file dterminer:


nombre de files algorithmes d ordonnancement pour chaque file algorithmes pour dcider quand un proc doit passer d une file

l`autre algorithme pour dterminer, pour un proc qui devient prt, sur quelle file il doit tre mis

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

PRIO = 0

Files multiples et retour

PRIO = 1

PRIO = 2

ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Exemple de files multiples retour


Trois files:
Q0: tourniquet, quantum 8 msecs Q1: tourniquet, quantum 16 msecs Q2: FCFS

Ordonnancement:
Un nouveau processus entre dans Q0, il reoit 8 msecs d UCT S il ne finit pas dans les 8 msecs, il est mis dans Q1, il reoit 16

msecs additionnels S il ne finit pas encore, il est interrompu et mis dans Q2 Si plus tard il commence demander des quantums plus petits, il pourrait retourner Q0 ou Q1
ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

En pratique...
Les mthodes que nous avons vu sont toutes utilises

en pratique (sauf plus court servi pur qui est impossible) Les SE sophistiqus fournissent au grant du systme une librairie de mthodes, quil peut choisir et combiner au besoin aprs avoir observ le comportement du systme Pour chaque mthode, plusieurs params sont disponibles: p.ex. dure du quantum, coefficients, etc.
ENSET de Rabat - 1re GLR - Hachem EL YOUSFI ALAOUI

Aussi
Notre tude des mthodes dordonnancement est thorique, ne

considre pas en dtail tous les problmes qui se prsentent dans lordonnancement UCT P.ex. les ordonnanceurs UCT ne peuvent pas donner lUCT un processus pour tout le temps dont il a besoin Car en pratique, lUCT sera souvent interrompue par quelque vnement externe avant la fin de son cycle Cependant les mmes principes dordonnancement sappliquent units qui ne peuvent pas tre interrompues, comme une imprimante, une unit disque, etc. Dans le cas de ces units, on pourrait avoir aussi des infos compltes concernant le temps de cycle prvu, etc. Aussi, cette tude ne considre pas du tout les temps dexcution de lordonnanceur ENSET de Rabat - 1re GLR - Hachem EL
YOUSFI ALAOUI

Vous aimerez peut-être aussi