2 - gestion de processus-1213

45
HACHEM EL YOUSFI ALAOUI 2012 -2013 Université Med. V Souissi - ENSET DE RABAT - 1° GLR ENSET de Rabat - 1ére GLR - Hachem EL YOUSFI ALAOUI

Upload: hachem-elyousfi

Post on 10-Aug-2015

27 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2 - Gestion de Processus-1213

HACHEM EL YOUSFI ALAOUI 2012 -2013

Université Med. V Souissi - ENSET DE RABAT - 1° GLR

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

Page 2: 2 - Gestion de Processus-1213

Concepts élémentairesProgramme: Un programme est une suite figée

d'instructions, un ensemble statique.Processus: c’est l'instance d'exécution d'un

programme dans un certain contexte pour un ensemble particulier de données.

Espace adresse d’un processus: ensembles des locations en mémoire auxquelles le processus est autorisé à accéder = = = > Espace virtuel

Temps partagé: dans un espace multiprogrammé, les différents processus doivent se partager l’accès aux ressources (UCT, mémoire et périphériques)

Une fraction de temps doit être accordé à chacun des processus

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

ENSET DE RABAT 2010-2011

Page 3: 2 - Gestion de Processus-1213

Contexte d’un processusContexte d'un processus: Le contexte d'un

événement inclut les circonstances et conditions qui l'entourent

C’est l’ensemble des conditions sous lesquelles un dispositif est en train d'être utilisé.

Il existe deux contextes : le contexte matériel et le contexte logiciel.

Le contexte matériel: Etat des registres à un instant t :Le contexte logiciel contient des informations sur les

conditions et droits d'accès aux ressources de la machine .

Le bloc de contrôle d'un processus (en anglais Process Control Block ou PCB) est une structure de données qui contient toutes les informations relatives au contexte d'un processus.

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

ENSET DE RABAT 2010-2011

Page 4: 2 - Gestion de Processus-1213

PCB - Détails Le PCB est composé des éléments fondamentaux suivants:

Un état Un espace d'adressage Gestion de la mémoire Table de fichiers ouverts

Un ou plusieurs contexte(s) d'éxecution Un compteur ordinal (PC) Des registres de données Une pile

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

ENSET DE RABAT 2010-2011

Page 5: 2 - Gestion de Processus-1213

Etats d’un processus

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

ENSET DE RABAT 2010-2011

Un processus peut être dans l’un des cinq états différents: nouveau, prêt, élu(en exécution), en attente, fini.

Page 6: 2 - Gestion de Processus-1213

Processus – Etats et transitions

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

ENSET DE RABAT 2010-2011

Page 7: 2 - Gestion de Processus-1213

Mécanisme de changement de contexte

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

ENSET DE RABAT 2010-2011

Page 8: 2 - Gestion de Processus-1213

Mécanisme de gestion des processusUn processus est constitué d’une alternance

de sections durant lesquelles il est actif, en contrôle de l’UCT et en attente d’E/S.

Nous allons nous intéresser à deux mécanismes de gestion des processusOrdonnancement (Scheduling): Effectué par

un répartiteur quidécide quels processus doivent être admis, lequel doit être activé; etc.

Synchronisation: certains procesus peuvent avoir à accéder aux mêmes ressources et il faut gérer les droits d’accès.

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

ENSET DE RABAT 2010-2011

Page 9: 2 - Gestion de Processus-1213

Ordonnanceurs (schedulers)Programmes qui gèrent l’utilisation de ressources

de l`ordinateurDans un système multiprogrammé, n processus

sont en concurrence pour l’accès aux ressources. Un (au plus) de ces processus peut être dans l’UCTPlusieurs processeurs pourront être en attente d’E/SD’autres seront prêts à occuper l’UCT. File d’attente :

Une file d’attente pour les processus prêts pour accéder à l’UCT.Une file d’attente pour les processus en attente d’un périphérique ou E/S

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

ENSET DE RABAT 2010-2011

Page 10: 2 - Gestion de Processus-1213

Ordonnancement de processus (court terme)

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

ENSET DE RABAT 2010-2011

Dans le cas 1 et 4 il y a ordonnancement de processus et l'ordonnancement est dit non-préemptif

Dans le cas 2 et 3il peut y avoir ordonnancement de processus et l'ordonnancement est dit préemptif

Page 11: 2 - Gestion de Processus-1213

Ordonnancement à moyen termeLe manque de ressources peut parfois

forcer le SE à suspendre des processusils seront plus en concurrence avec les

autres pour des ressourcesils seront repris plus tard quand les

ressources deviendront disponiblesCes processus sont enlevés de mémoire

centrale et mis en mémoire secondaire, pour être repris plus tard‘swap out’, ‘swap in’ , va-et-vient 

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

ENSET DE RABAT 2010-2011

Page 12: 2 - Gestion de Processus-1213

Ordonnanceurs à court et moyen termeOrdonnanceurs à court et moyen terme

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

ENSET DE RABAT 2010-2011

Page 13: 2 - Gestion de Processus-1213

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

ENSET DE RABAT 2010-2011

Page 14: 2 - Gestion de Processus-1213

Ordonnancement Processus : Concepts de base

La multiprogrammation est conçue pour obtenir une utilisation maximale des ressources, surtout l’UCT

L’ordonnanceur UCT est la partie du SE qui décide quel processus dans la file ready/prêt obtient l ’UCT quand elle devient libredoit viser à une utilisation optimale de l ’UCT

l’UCT est la ressource la plus précieuse dans un ordinateur, donc nous parlons d’elleCependant, les principes que nous verrons

s’appliquent aussi à l ’ordonnancement des autres ressources (unités E/S, etc).ENSET de Rabat - 1ére GLR - Hachem EL

YOUSFI ALAOUI

Page 15: 2 - Gestion de Processus-1213

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

ENSET DE RABAT 2010-2011

Page 16: 2 - Gestion de Processus-1213

Quand invoquer l’ordonnanceur L ’ordonnanceur doit prendre sa décision

chaque fois que le processus exécutant est interrompu, c-à.-d.un processus se se présente en tant que nouveau ou

se termine ouun processus exécutant devient bloqué en attenteun processus change d’exécutant/running à

prêt/readyun processus change de attente à prêt/readen conclusion, tout événement dans un système

cause une interruption de l’UCT et l’intervention de l’ordonnanceur, qui devra prendre une décision concernant quel proc ou fil aura l’UCT après

Préemption: on a préemption dans les derniers deux cas si on enlève l’UCT à un processus qui l’avait et peut continuer à s’en servir

Dans les 1ers deux cas, il n’y a pas de préemptionENSET de Rabat - 1ére GLR - Hachem EL YOUSFI ALAOUI

Page 17: 2 - Gestion de Processus-1213

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

ENSET DE RABAT 2010-2011

Page 18: 2 - Gestion de Processus-1213

Ordonnancement : Critères

Utilisation UCT: pourcentage d’utilisationDébit = Throughput: nombre de processus qui

complètent dans l ’unité de tempsTemps de rotation = turnaround: le temps

pris par le processus de son arrivée à sa terminaison.

Temps d’attente: attente dans la file prêt (somme de tout le temps passé en file prêt)

Temps de réponse (pour les systèmes interactifs): le temps entre une demande et la réponse

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

Page 19: 2 - Gestion de Processus-1213

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

ENSET DE RABAT 2010-2011

Page 20: 2 - Gestion de Processus-1213

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

ENSET DE RABAT 2010-2011

Page 21: 2 - Gestion de Processus-1213

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

ENSET DE RABAT 2010-2011

Page 22: 2 - Gestion de Processus-1213

Ordonnancement : Critères Utilisation UCT: pourcentage d’utilisation

ceci est à maximiser Débit = Throughput: nombre de processus

qui complètent dans l ’unité de temps ceci est à maximiser

Temps de rotation (turnaround): temps terminaison moins temps arrivée à minimiser

Temps d’attente: attente dans la file prêt à minimiser

Temps de réponse (pour les systèmes interactifs): le temps entre une demande et la réponse à minimiser

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

Page 23: 2 - Gestion de Processus-1213

Ordonnancement: Algorithmes

FCFS ou PAPS First Come First Served

SJF ou Plus court d’abord Shortest Job First

RR ou le tourniquetRound-Robin

Ordonnancement par priorité avec/sans files d'attente

multiples

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

Page 24: 2 - Gestion de Processus-1213

Premier arrive, premier servi (First come, first serve, FCFS)

Exemple: Processus Temps de cycle P1 24 P2 3 P3 3 Si les processus arrivent au temps 0 dans l’ordre: P1 , P2 , P3

Le diagramme Gantt est:

Temps d’attente pour P1= 0; P2= 24; P3= 27Temps attente moyen: (0 + 24 + 27)/3 = 17

P1 P2 P3

24 27 300

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

Page 25: 2 - Gestion de Processus-1213

Premier arrive, premier servi

Utilisation UCT = 100%Débit = 3/30 = 0,1

3 processus complétés en 30 unités de temps

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

P1 P2 P3

24 27 300

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

Page 26: 2 - Gestion de Processus-1213

Tenir compte du temps d’arrivée!Dans le cas où les processus arrivent à des

moments différents, il faut soustraire les temps d’arrivée

Exercice: répéter les calculs si:P0 arrive à temps 0P1 arrive à temps 2P3 arrive à temps 5

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

Page 27: 2 - Gestion de Processus-1213

FCFS Scheduling (Cont.)Si les mêmes processus arrivent à dans l’ordre ; P2 , P3 , P1 .

Le diagramme de Gantt est:

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

d’attente moyen peut varier grandement

P1P3P2

63 300

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

Page 28: 2 - Gestion de Processus-1213

Plus Court d’abord = Shortest Job First (SJF)

Le processus le plus court part le premier

Optimal en principe du point de vue du temps d’attente moyen(v. le dernier exemple)

Mais comment savons-nous

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

Page 29: 2 - Gestion de Processus-1213

SJF avec préemption (réquisition) ou nonAvec préemption: si un processus qui dure

moins que le restant du processus courant se présente plus tard, l’UCT est donnée à ce nouveau processus SRTF: shortest remaining-time first

Sans préemption: on permet au processus courant de terminer son cycleObservation: SRTF est plus logique car de

toute façon le processus exécutant sera interrompu par l’arrivée du nouveau processus Il est retourné à l’état prêt

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

Page 30: 2 - Gestion de Processus-1213

Processus Arrivée Cycle

P1 0 7

P2 2 4

P3 4 1

P4 5 4

SJF (sans préemption)

Temps d’attente moyen = (0 + 6 + 3 + 7)/4 = 4

Example de SJF sans préemptionExample de SJF sans préemption

P1 P3 P2

73 160

P4

8 12

P2 arr. P3 arr. P4 arr

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

Page 31: 2 - Gestion de Processus-1213

Exemple de SJF avec préemption SRTFExemple de SJF avec préemption SRTF

Processus Arrivée Cycle

P1 0 7

P2 2 4

P3 4 1

P4 5 4 SJF (préemptive)

Temps moyen d`attente = (9 + 1 + 0 +2)/4 = 3 P1 attend de 2 à 11, P2 de 4 à 5, P4 de 5 à 7

P1 P3P2

42 110

P4

5 7

P2 P1

16

P2 arr. P3 arr. P4 arr

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

Page 32: 2 - Gestion de Processus-1213

Le plus court d’abord SJF: critique

Difficulté d’estimer la longueur à l’avanceLes processus longs souffriront de famine lorsqu’il

y a un apport constant de processus courtsLa préemption est nécessaire pour

environnements à temps partagéUn processus long peut monopoliser l’UCT s’il est le

1er à entrer dans le système et il ne fait pas d’E/S Il y a assignation implicite de priorités:

préférences aux travaux plus courts

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

Page 33: 2 - Gestion de Processus-1213

Tourniquet = Round-Robin (RR) Le plus utilisé en pratique

Chaque processus est alloué un quantum de temps (p.ex. 10-100 millisecs.) pour s’exécuter(tranche de temps)

S’il s’exécute pour un quantum entier sans autres interruptions, il est interrompu par la minuterie et l ’UCT est donnée à un autre processus

Le processus interrompu redevient prêt (à la fin de la file)

Méthode préemptiveP[0] P[1]

P[7] P[2]

P[6] P[3]

P[4]P[5]

La file prêt est un cercle (dont RR)

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

Page 34: 2 - Gestion de Processus-1213

Exemple: Tourniquet Quantum = 20Exemple: Tourniquet Quantum = 20

Processus Cycle

P1 53

P2 17

P3 68

P4 24

Normalement, temps de rotation (turnaround) plus élévé que SJF mais temps attente moyen meilleur – contrôlez!

P1 P2 P3 P4 P1 P3 P4 P1 P3 P3

0 20 37 57 77 97 117 121 134 154 162

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

Page 35: 2 - Gestion de Processus-1213

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

Page 36: 2 - Gestion de Processus-1213

Choix du quantum pour le tourniquetChoix du quantum pour le tourniquet

doit être beaucoup plus grand que le temps requis pour exécuter 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 pénaliser les processus courts)

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

Page 37: 2 - Gestion de Processus-1213

Priorités

Affectation d’une priorité à chaque processus (p.ex. un nombre entier)souvent les petits chiffres dénotent des

hautes priorités 0 la plus haute

L’UCT est donnée au processus prêt avec la plus haute prioritéavec ou sans préemptionil y a une file prêt pour chaque priorité

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

Page 38: 2 - Gestion de Processus-1213

Problème possible avec les priorités

Famine: les processus moins prioritaires n’arrivent jamais à exécuter

Solution: vieillissement: modifier la priorité d’un processus en

fonction de son âge et de son historique d’exécution

le processus change de file d`attentePlus en général, la modification

dynamique des priorités est une politique souvent utilisée

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

Page 39: 2 - Gestion de Processus-1213

Files à plusieurs niveaux (multiples)La file prêt est séparée en plusieurs files, p.ex.

travaux ‘d’arrière-plan’ (background - batch)

travaux ‘de premier plan’ (foreground - interactive)

Chaque file a son propre algorithme d ’ordonnancement, p.ex.FCFS pour arrière-plantourniquet pour premier plan

Comment ordonnancer entre files? Priorité fixe à chaque file famine possible, ouChaque file reçoit un certain pourcentage de temps UCT,

p.ex. 80% pour arrière-plan 20% pour premier plan

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

Page 40: 2 - Gestion de Processus-1213

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

Page 41: 2 - Gestion de Processus-1213

Files multiples et à retourUn processus peut passer d ’une file à

l ’autre, p.ex. quand il a passé trop de temps dans une file

À déterminer:nombre de filesalgorithmes d ’ordonnancement pour chaque file algorithmes pour décider quand un proc doit passer

d ’une file à l`autrealgorithme pour déterminer, pour un proc qui

devient prêt, sur quelle file il doit être mis

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

Page 42: 2 - Gestion de Processus-1213

PRIO = 0

PRIO = 1

PRIO = 2

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

Page 43: 2 - Gestion de Processus-1213

Exemple de files multiples à retourTrois files:

Q0: tourniquet, quantum 8 msecsQ1: tourniquet, quantum 16 msecsQ2: FCFS

Ordonnancement: Un nouveau processus entre dans Q0, il reçoit 8 msecs

d ’UCTS ’il ne finit pas dans les 8 msecs, il est mis dans Q1, il

reçoit 16 msecs additionnelsS ’il ne finit pas encore, il est interrompu et mis dans Q2Si plus tard il commence à demander des quantums plus

petits, il pourrait retourner à Q0 ou Q1ENSET de Rabat - 1ére GLR - Hachem EL YOUSFI ALAOUI

Page 44: 2 - Gestion de Processus-1213

En pratique...Les méthodes que nous avons vu sont toutes

utilisées en pratique (sauf plus court servi pur qui est impossible)

Les SE sophistiqués fournissent au gérant du système une librairie de méthodes, qu’il peut choisir et combiner au besoin après avoir observé le comportement du système

Pour chaque méthode, plusieurs params sont disponibles: p.ex. durée du quantum, coefficients, etc.

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

Page 45: 2 - Gestion de Processus-1213

Aussi…Notre étude des méthodes d’ordonnancement est théorique,

ne considère pas en détail tous les problèmes qui se présentent dans l’ordonnancement UCT

P.ex. les ordonnanceurs UCT ne peuvent pas donner l’UCT à un processus pour tout le temps dont il a besoinCar en pratique, l’UCT sera souvent interrompue par

quelque événement externe avant la fin de son cycleCependant les mêmes principes d’ordonnancement

s’appliquent à unités qui ne peuvent pas être interrompues, comme une imprimante, une unité disque, etc.

Dans le cas de ces unités, on pourrait avoir aussi des infos complètes concernant le temps de cycle prévu, etc.

Aussi, cette étude ne considère pas du tout les temps d’exécution de l’ordonnanceur

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