Académique Documents
Professionnel Documents
Culture Documents
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
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
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
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
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
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).
L ordonnanceur doit prendre sa dcision chaque fois que le processus excutant est interrompu, c-.-d.
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
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
Ordonnancement : Critres
minimiser minimiser
Temps de rponse (pour les systmes interactifs): le temps entre une demande et la rponse
minimiser
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
Temps dattente pour P1= 0; P2= 24; P3= 27 Temps attente moyen: (0 + 24 + 27)/3 = 17
Premier arrive, premier servi Utilisation UCT = 100% Dbit = 3/30 = 0,1
3 processus complts en 30 units de temps
P2
27
P3
30
20
Si les mmes processus arrivent 0 mais dans lordre P2 , P3 , P1 . Le diagramme de Gantt est:
P2 0 3 P3 6 P1 30
21
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
Le processus le plus court part le premier Optimal en principe du point de vue du temps dattente moyen
(v. le dernier exemple)
22
23
P1 P2 P3 P4
0 2 4 5
7 4 1 4
3
P2 arr. P3 arr.
7 P4 arr
12
16
24
P1 P2 P3 P4 SJF (premptive)
P1 0 P2 P3 P2
0 2 4 5
7 4 1 4
P4 11
P1 16
P1 attend de 2 11, P2 de 4 5, P4 de 5 7
25
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
26
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]
27
P[2] P[3]
P1 P2 P3 P4
53 17 68 24
P1
P2
P3
P4
P1
P3
P4
P1
P3
P3
20
37
57
77
97 117
Normalement, temps de rotation (turnaround) plus lv que SJF mais temps attente moyen meilleur contrlez!
28
29
30
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)
31
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
32
33
34
35
36
PRIO = 0
PRIO = 1
PRIO = 2
37
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
38
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.
39
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
40