systèmes d'exploitation - chp2-gestion des processus
Post on 09-Apr-2017
161 Views
Preview:
TRANSCRIPT
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 )
PROCESSUS ET RESSOURCESGestion des Processus
Dr. G h ad a G ASMI- Dr. L i l ia SFAXI Sl id e 2
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
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
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
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
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
Processus
pointerprocess state
process numberprogram counter
registers
memory limitslist of open files
.
.
.
Process control block
8
Processus et Ressources
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
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
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
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
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
Threads
14
Processus et Ressources
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
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
GESTION DES RESSOURCESGestion des Processus
Dr. G h ad a G ASMI- Dr. L i l ia SFAXI Sl id e 17
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
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
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
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
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
ORDONNANCEURSGestion des Processus
Dr. G h ad a G ASMI- Dr. L i l ia SFAXI Sl id e 23
Ordonnanceurs
• Gestionnaires de ressources§ Scheduler en anglais
• Types § Ordonnanceurs à court terme
§ Ordonnanceurs à moyen terme
§ Ordonnanceurs à long terme
24
Ordonnanceurs
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
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
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
ALGORITHMES D’ORDONNANCEMENTGestion des Processus
Dr. G h ad a G ASMI- Dr. L i l ia SFAXI Sl id e 28
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
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
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
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
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
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
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
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
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
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
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
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
Algorithmes: Files Multi-Niveaux
41
Algorithmes d’ordonnancement
PRIO = 0la + élevée
PRIO = 1
PRIO = 2
la plus faible
Algorithmes: Files Multi-Niveaux
42
Algorithmes d’ordonnancement
PRIO = 0la + élevée
PRIO = 1
PRIO = 2
la plus faible
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
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
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
top related