systèmes d'exploitation - chp2-gestion des processus

45
Gestion des Processus Processus, Contexte, Algorithmes d’ordonnancement Dr. Ghada GASMI- Dr. Lilia SFAXI Slide 1 Systèmes d’Exploitation 2 ème Année (GL-RT-IIA-IMI)

Upload: lilia-sfaxi

Post on 09-Apr-2017

161 views

Category:

Technology


15 download

TRANSCRIPT

Page 1: Systèmes d'Exploitation - chp2-gestion des processus

Gestion des ProcessusProcessus, Contexte, Algorithmes d’ordonnancement

Dr. G h ad a G ASMI- Dr. L i l ia SFAXI Sl id e 1

Systèmes d’Exploitation2èm e Année (GL-RT- I IA- IMI )

Page 2: Systèmes d'Exploitation - chp2-gestion des processus

PROCESSUS ET RESSOURCESGestion des Processus

Dr. G h ad a G ASMI- Dr. L i l ia SFAXI Sl id e 2

Page 3: Systèmes d'Exploitation - chp2-gestion des processus

Ressource

• Elément physique ou logique§ CPU, MC, Variable, Fichier, …

• Nécessaire à l’évolution d’un processus• Demandée explicitement ou non

§ Processeur, Canal, Mot mémoire, Fichiero Explicitement par une fonction de l’OS

‣ Demande mémoire ( fonct ion mal loc de C)

o Implicitement : selon l’état du processus‣ En attente d’une f in d’ E/S, Attente processeur

3

Processus et Ressources

Page 4: Systèmes d'Exploitation - chp2-gestion des processus

Ressource

• Réutilisable ou consommable§ Mot mémoire, Ligne écran

o Allouée puis Consommée (non réutilisable)

o Allouée puis Utilisée puis Restituée, Réallouée, …

• Partagée ou non§ Accès exclusif ou non

• Possède un un état dynamique§ Occupée, Libre

4

Processus et Ressources

Page 5: Systèmes d'Exploitation - chp2-gestion des processus

Ressource

• Contraintes d’évolution§ Evolue selon certaines contraintes

o Exemple: Domaine de variation d’une variable

• Utilisée selon des règles précises§ Accès à la ressource peut être soumis à certaines conditions

o Exemple: Droits d’accès à un fichier

5

Processus et Ressources

Page 6: Systèmes d'Exploitation - chp2-gestion des processus

Processus

• Plusieurs définitions§ Programme en exécution

o Programme lancé mais non terminé‣ Encore présent dans le système‣ Peut être dans un état q uelconq ue

§ Entité dynamiqueo Programme

‣ Ent ité stat iq ue‣ Texte interprétable

o Processus‣ Ent ité dynamiq ue‣ Abstract ion de l ’exécut ion d’un programme

§ Suite d’étatso E0 → E1 → … → Ek → …

‣ Etat init ia l pu is convergence vers un état f inal

6

Processus et Ressources

Page 7: Systèmes d'Exploitation - chp2-gestion des processus

Processus

• Activité asynchrone§ Pas de connaissance sur

o La date de lancement d’un processus sauf s i e lle programmée

o La date de fin d’un processus

o Le nombre de processus qui seront lancés

• Représentation dans le système§ Structure de données (Table)

o PCB (Process Control Block)

7

Processus et Ressources

Page 8: Systèmes d'Exploitation - chp2-gestion des processus

Processus

pointerprocess state

process numberprogram counter

registers

memory limitslist of open files

.

.

.

Process control block

8

Processus et Ressources

Page 9: Systèmes d'Exploitation - chp2-gestion des processus

Processus

Cycle de vie§ 3 phases

o Créatio n (génératio n du PCB)‣ La nce me nt d’un progra mme

• Comma nde ou à tra ve rs l e bure a u‣ Cré a ti on dy na mi que de proce s sus

• Foncti on fork() s ous Uni x

o Vie du pro cessus‣ Ex i s te da ns l e s y stè me (di spose d’un P CB)‣ Gé ré pa r l e s y s tè me

o F in du pro cessus (destructio n du PCB)‣ Fi n norma l e

• Le proce s s us e s t a rri vé l ogique me nt à s a de rni è re i ns tructi on‣ Fi n a norma l e

• Erre ur d’e x é cuti on, A rrê t pa r l ’uti l i s a te ur‣ Ca s pa rti cul i e r

• Ne s’a rrê te ja ma i s à ca us e d’une a noma l i e te l l e que Boucl e Inf i ni e

9

Processus et Ressources

Page 10: Systèmes d'Exploitation - chp2-gestion des processus

Processus

• Etats d’un processus§ Suivi de son évolution

o Depuis sa création jusqu’à sa fin normale ou anormale

§ Passe par différents étatso Tout au long de son existence, un processus passe par différents états

‣ Existence de plusieurs états‣ Existence de règles de transit ions entre états

10

Processus et Ressources

Page 11: Systèmes d'Exploitation - chp2-gestion des processus

Processus

11

Processus et Ressources

Nouveau

Ready / Prêt

Terminé

Running / Exécution

Wait / Attente

Chargement PréemptionFin

Allocation

Début d’E/S ou d’un Évènement X

Fin d’E/S

Page 12: Systèmes d'Exploitation - chp2-gestion des processus

Processus

• Types de processus§ Processus en avant plan

o Foreground (vis ible)

o Processus avec lequel on dia logue‣ Dialogue à travers le clav ier et l ’écran

§ Processus en arrière plano Background

o S’exécute sans dia logue avec l’utilisateur‣ Tâche de fond (Job)

12

Processus et Ressources

Page 13: Systèmes d'Exploitation - chp2-gestion des processus

Threads

• Concept moderne des OS

• Subdivision d’un processus§ Processus = { Threads }§ Threads partagent l’espace du processus auquel ils appartiennent

o Espace d’adressage, Ressources, …

• Processus léger§ Lightweight process, Flot ou fil d’exécution§ Gestion plus simple qu’un processus

13

Processus et Ressources

Page 14: Systèmes d'Exploitation - chp2-gestion des processus

Threads

14

Processus et Ressources

Page 15: Systèmes d'Exploitation - chp2-gestion des processus

Threads

• Intérêts§ Applications plus performantes

o Exécuter des tâches en para llè le‣ La not ion de processus n’autorise q u’une exécut ion purement séq uentiel le‣ La subdiv ision en threads donne la possibi l i té d’exécuter plusieurs threads en

paral lèle

§ Très adapté pour des architectures multiprocesseurs et multicoeurso Exécution de plusieurs threads à la fois

§ Contribue à la structuration d’un programme et d’un processuso Décomposition en threads et non en une seule unité (processus)

§ Utiliser moins de ressources systèmeo Beaucoup d’éléments sont partagés entre threads d’un même processus

‣ Ev ite la dupl icat ion inut i le de ressources

15

Processus et Ressources

Page 16: Systèmes d'Exploitation - chp2-gestion des processus

Processus vs Thread

• Processus§ Environnement propre

o Mémoire, Fichiers, Ressourceso Contexte volumineux

§ Accès aux ressources d’autres processuso Possible selon des règles d’accès bien précises (Protection)

§ Contient au moins un thread

• Thread§ Possède

o Un état d’exécution (prêt, bloqué, …)o Sa propre pile d’exécutiono Espace privé pour ses variables loca leso Un contexte plus léger

§ Accès aux ressources du processus père§ Peut créer d’autres threads

16

Processus et Ressources

Page 17: Systèmes d'Exploitation - chp2-gestion des processus

GESTION DES RESSOURCESGestion des Processus

Dr. G h ad a G ASMI- Dr. L i l ia SFAXI Sl id e 17

Page 18: Systèmes d'Exploitation - chp2-gestion des processus

Gestion des Ressources

• Fonction fondamentale des OS§ Objectifs

o Utiliser les ressources physiques et logiques d’une machineo Gérer le partage des ressourceso Assurer la protection des ressources

§ Eléments fondamentaux pour la gestiono Files d’attenteo Ordonnanceurs

18

Gestion des Ressources

Page 19: Systèmes d'Exploitation - chp2-gestion des processus

Files d’attente

• Terme générique§ File d’attente devant un guichet

§ File d’attente d’entrée à un stade

§ File d’attente de voitures

• Définition§ Ensemble d’éléments

o Organisés d’une certa ine manière et qui attendent d’être servis

o Servis dans un certa in ordre

19

Gestion des Ressources

Page 20: Systèmes d'Exploitation - chp2-gestion des processus

Files d’attente

• FA en informatique§ Structure de données fondamentale en informatique

o Stockage d’ informations

o Règle d’entrée ‣ Généralement par la Queue –Queue- de la f i le

o Règle de sortie ‣ Généralement par la Tête –Head- de la f i le

20

Gestion des Ressources

Ê … ÌEntrée Sortie

Page 21: Systèmes d'Exploitation - chp2-gestion des processus

Files d’attente

• Capacité§ Taille finie

o Insertion d’un nombre fini d’éléments

§ Politiques de gestion§ Plusieurs politiques possibles

o LIFO, FIFO, Priorité, Random, etc.

• Pourquoi des files d’attente dans un OS ?§ Ressources d’un système : { R }§ Processus : { P }§ | P | >> | R |§ Comment partager { R } entre { P } ?

o Définir une politique de gestion de { R }o Distinguer entre processus qui utilisent une ressource A et ceux qui attendent

de l’utiliser (File d’attente)

21

Gestion des Ressources

Page 22: Systèmes d'Exploitation - chp2-gestion des processus

Files d’attente

• File d’attente de gestion des ressources§ Une par ressource

o Contient les processus en attente de cette ressource

§ Instant to Processus P i dans une seule file d’attente

§ Passage d’une file à une autreo Changement d’état du processuso Changement de l’état des ressources

22

Gestion des Ressources

Page 23: Systèmes d'Exploitation - chp2-gestion des processus

ORDONNANCEURSGestion des Processus

Dr. G h ad a G ASMI- Dr. L i l ia SFAXI Sl id e 23

Page 24: Systèmes d'Exploitation - chp2-gestion des processus

Ordonnanceurs

• Gestionnaires de ressources§ Scheduler en anglais

• Types § Ordonnanceurs à court terme

§ Ordonnanceurs à moyen terme

§ Ordonnanceurs à long terme

24

Ordonnanceurs

Page 25: Systèmes d'Exploitation - chp2-gestion des processus

Types d'Ordonnanceurs

• Ordonnanceurs à court terme (CPU Scheduler)§ Gèrent des processus (états prêts)§ Sélectionnent le processus à exécuter

o A qui al lo uer le pro cesseur

§ Sollic ités très souvent (ms)§ Combinés avec un Dispatcheur

o Dispatcheur do nne le co ntrô le au pro cessus cho isi par le scheduler

• Ordonnanceurs à moyen terme § Moins sollic ités que ceux à court terme§ Chargent ou déchargent des processus (swap in et swap out)

o Charger un pro cessus en mémo ire centraleo Décharger un pro cessus sur disque

• Ordonnanceurs à long terme (Job Scheduler)§ Accepter ou non des processus utilisateurs dans le système

o Capac ité dynamique du système à accepter les travaux des uti l isateurs

25

Ordonnanceurs

Page 26: Systèmes d'Exploitation - chp2-gestion des processus

Préemption

• Allocation d’une ressource§ Mise à la disposition d’un processus§ Doit en principe la restituer

o Pour être utilisée par d’autres

§ Instant de libérationo Fin de l’utilisation de la ressource

§ Problèmeso Un processus risque de ne pas la restituero Que fa ire en cas de besoin urgent

• Technique de préemption ou de réquisition§ Retirer une ressource à un processus alors qu’il en a encore besoin

o Retra it forcé‣ Pour l ’a l louer à un autre processus

o Re-allocation après un certa in temps

26

Ordonnanceurs

Page 27: Systèmes d'Exploitation - chp2-gestion des processus

Ordonnanceurs et préemption

• Combinaison§ Ordonnanceurs préemptifs

o Utilisent la réquis ition

o Peuvent récupérer une ressource a llouée à un processus à tout moment

§ Ordonnanceurs non préemptifso N’utilisent pas la réquis ition

o Récupèrent la ressource une fois que le processus l’aura libéré

27

Ordonnanceurs

Page 28: Systèmes d'Exploitation - chp2-gestion des processus

ALGORITHMES D’ORDONNANCEMENTGestion des Processus

Dr. G h ad a G ASMI- Dr. L i l ia SFAXI Sl id e 28

Page 29: Systèmes d'Exploitation - chp2-gestion des processus

Problématique

• 1 Processeur§ Exécution d’un seul processus à la fois

• Système§ Ensemble (éventuellement vide) de processus qui sont dans l’état Prêt

• Allocation du processeur§ Quel processus choisir parmi ceux qui sont dans l’état prêt ?

29

Algorithmes d’ordonnancement

Page 30: Systèmes d'Exploitation - chp2-gestion des processus

Problématique

• Critères relatifs à l’allocateur§ Point de vue utilisateur

o Temps de réponse

§ Point de vue systèmeo Nombre de processus exécutés

o Rentabilité du processeur

o Equité

o Garantir les priorités

o …

30

Algorithmes d’ordonnancement

Page 31: Systèmes d'Exploitation - chp2-gestion des processus

Critères d’évaluation

• Pourcentage d’utilisation du processeur§ Différencier entre périodes d’activité et périodes d’inactivité du processeur

o Maximiser l’une et minimiser l’autre

• Débit ou Throughput§ Nombre de processus exécutés

pendant une durée bien déterminée

• Temps de traitement (Turnaround

ou temps de rotation)• Temps d’attente (Waiting time)

• Temps de réponse

31

Algorithmes d’ordonnancement

Processus A

arrivée fin

temps d'attente

temps de traitement

A

arrivée fin

temps d'attente

temps de traitement

AAA

Page 32: Systèmes d'Exploitation - chp2-gestion des processus

Allocation Processeur

• Modèle§ Phases d’un processus

o Succession de cycles‣ Calcu l , E/S, Calcu l , E/S, …, Calcu l

o On s’ intéresse uniquement aux phases de ca lcul et non aux phases d’E/S‣ Phase de calcu l ou Burst Time

• Phase d’exécut ion d’ instruct ions arithmétiq ues ou logiq ues

§ Temps d’exécution peut être connu a priori si:o Fourni par l’utilisateur (estimation)

o Calculé par méthodes d’estimation

§ File d’attente des processus prêts

§ Diagramme de Gantto Représentation graphique de l’ordonnancement de l’exécution d’un ensemble de

processus selon un a lgorithme d’ordonnancement

32

Algorithmes d’ordonnancement

Page 33: Systèmes d'Exploitation - chp2-gestion des processus

Allocation Processeur

33

Algorithmes d’ordonnancement

Processus Temps de TraitementTemps CPU

(Burst Time)Temps

d‘AttenteP1 12 - 12 = 0P2 17 - 5 = 12P3 19 - 2 = 17

Total 48 - 19 = 29Moyenne (/3) 16 - 6,.. = 9,..

P1 P2 P30 12 17 19

Page 34: Systèmes d'Exploitation - chp2-gestion des processus

Algorithmes

• FCFS§ First Come First Served (FIFO)

§ Critèreo Ordre d’arrivée des processus

‣ C lasser les processus par date d’arrivée

§ Caractéristiqueso Le plus s imple à mettre en œuvre

o Le plus mauvais‣ Donne de mauvaises performances

34

Algorithmes d’ordonnancement

Page 35: Systèmes d'Exploitation - chp2-gestion des processus

Algorithmes

• SJF§ Shortest Job First ou Le plus court d’abord§ Critère

o Plus petit temps d’exécutio n

§ Caractéristiqueso Pr ivi légie les petits pro cessuso Risque d’attente infinie po ur les pro cessus lo ngs (pro blème de famine o u

starvatio n)

§ Avec ou sans préemptiono Sans préemptio n

‣ S é l e cti on du procha i n proce s s us à l a f i n du coura nt, mê me s’i l y a a rri vé e de nouve a ux proce s s us a ve c un te mps pl us pe ti t que ce l ui du coura nt

o Avec préemptio n (SNRT: Sho rtest Next Remaining Time)‣ Vé ri f i e r l e cri tè re d’a l l ocati on à cha que a rri vé e de nouve a ux proce ss us

• Compa re r l e te mps re s ta nt du proce s s us coura nt a ve c l e te mps du ou de s nouve a ux proce s s us

• S e l on l e ca s , uti l i s ati on ou non de l a pré e mpti on

35

Algorithmes d’ordonnancement

Page 36: Systèmes d'Exploitation - chp2-gestion des processus

Algorithmes

• Priorité§ Priorité

o Urgence d’uti l isatio n du pro cesseuro Définie par un no mbre o u une lettre

‣ Ex e mpl e s• 0. . F, A . . Z• 0. . 39 (Ca s du s y s tè me Uni x )

o Statique o u dynamique‣ Comma nde ni ce s ous Uni x

§ Critèreo Pro cessus le plus pr io r itaire

§ Caractéristiqueso Répo nd à la no tio n d’urgenceo Risque de famine

‣ P ri vi l é gi e l e s proce s sus pri ori ta ire s§ Plusieurs types:

o Avec o u sans préemptio n o Dynamique o u statique o À une fi le o u à plusieurs fi les d’attente

36

Algorithmes d’ordonnancement

Page 37: Systèmes d'Exploitation - chp2-gestion des processus

Algorithmes

• Round Robin ou Tourniquet§ Introduit avec les systèmes temps-partagé (Time Sharing)§ Eléments de base

o F i le d’attente des pro cessus ‣ O rdonné s s e l on l e ur ordre d’a rri vée

o Util isatio n de la no tio n de QUANTUM‣ Uni té de te mps d’uti l i s a ti on du proce s s e ur‣ Uni té de te mps i ni nte rrupti bl e (pa s de pré e mpti on dura nt un qua ntum)

§ Principeo Allo catio n par multiple de Quantumso Allo catio n du pro cesseur au pro cessus Pio F in du quantum

‣ P i te rmi né → Q ui tte l a f i l e d’a tte nte‣ P i non te rmi né → R e vi e nt à l a f i n de l a f i l e (que ue )‣ A l l oca ti on du proce s se ur a u proce s sus P i +1

o F in pro cessus Pi < F in Quantum‣ A s s i mi l ée à une f i n de Q ua ntum

• A l l oca ti on du proce s se ur a u proce s sus P i +1

37

Algorithmes d’ordonnancement

Page 38: Systèmes d'Exploitation - chp2-gestion des processus

Algorithmes: Files Multi-Niveaux

• Files multi-niveaux§ 1 seule file (1 niveau)

o Mélange de processus de différentes natures‣ Système, Ut i l isateurs, …

§ Idéeo Utiliser plusieurs files

‣ Fi le cont ient des classes de processus• Type (ut i l isateur, système, …)• Catégorie (étudiant , enseignants, administrat ion, …)

• Principe général§ Fixer le nombre de files

o Nombre fixe§ Hiérarchiser les files

o Définir un ordre entre files‣ Priorité d’al locat ion (F1 > F2 > … > Fn)

o Allocation selon le niveau d’une file dans la hiérarchie

38

Algorithmes d’ordonnancement

Page 39: Systèmes d'Exploitation - chp2-gestion des processus

Algorithmes: Files Multi-Niveaux

• Politique de gestion de chaque file§ Définir un ordonnanceur par file

o Peut être le même pour toutes les fileso Diversifier les ordonnanceurs

§ Définir une stratégie pour les nouveaux processuso Entrée dans une file bien déterminée fixée à l’avanceo Sinon définir un critère d’entrée

• Principe d’allocation§ Allocation

o Commencer par la file la plus priorita ire ‣ Fi le de plus haut niveau non v ide

o Ne passer à la file (i+1) que s i tous les processus de la file i ont été satisfa its‣ Fi le i plus prioritai re q ue la f i le ( i+1)

§ Préemption entre fileso Revenir à une file priorita ire en cas d’arrivée de nouveaux processus dans cette

file

39

Algorithmes d’ordonnancement

Page 40: Systèmes d'Exploitation - chp2-gestion des processus

Algorithmes: Files Multi-Niveaux

• Types de files§ Simples

o Pas de liens entre files

o Problème de famine (Starvation)

§ Avec lienso Unidirectionnel

‣ Défini r un critère de passage d’une fi le à une autre• F1 → F2 → … → Fn

o Bidirectionnel• F1 ↔ F2 ↔ … ↔ Fn

40

Algorithmes d’ordonnancement

Page 41: Systèmes d'Exploitation - chp2-gestion des processus

Algorithmes: Files Multi-Niveaux

41

Algorithmes d’ordonnancement

PRIO = 0la + élevée

PRIO = 1

PRIO = 2

la plus faible

Page 42: Systèmes d'Exploitation - chp2-gestion des processus

Algorithmes: Files Multi-Niveaux

42

Algorithmes d’ordonnancement

PRIO = 0la + élevée

PRIO = 1

PRIO = 2

la plus faible

Page 43: Systèmes d'Exploitation - chp2-gestion des processus

Algorithmes à privilège

• Problématique§ Privilégient certains processus par rapport à d’autres

o SJF avec préemption, Priorité, …

§ Risque majeuro Famine ou starvation

‣ Attente infinie• L’al locat ion du processeur ne sera pas refusée mais sera tou jours di fférée

dans le temps

43

Algorithmes d’ordonnancement

Page 44: Systèmes d'Exploitation - chp2-gestion des processus

Exemples (1)

• Windows 2000§ Priorité et préemption

o Nombre de niveaux de priorité: 32

o 1 seule file gérée par RR avec priorité

o Priorité dynamique (+/-)

o Quantum plus grand pour les processus en avant plan

• Unix§ RR évolué

o Technique du RR + Priorité dynamique

o Plusieurs files d’attente‣ Priorité entre f i les

o Un a lgorithme RR par file

44

Algorithmes d’ordonnancement

Page 45: Systèmes d'Exploitation - chp2-gestion des processus

Exemples (2)

• Linux§ Classes d’ordonnancement

o Processus temps-partagéo Processus temps-réel

§ Cas temps-réelo Ordonnancement basé sur la priorité

§ Cas temps-partagéo Utilisation de la priorité avec crédito Fin du quantum et processus non terminé

‣ Perte d’un crédito Suspension du processus qui n’a plus de crédito Tous les processus prêts suspendus

‣ Récupèrent tous des créditso Processus en background

‣ Priorité faible et moins de crédit

45

Algorithmes d’ordonnancement