Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parBaptiste Franco Modifié depuis plus de 10 années
1
6.1 URDL22005 Systèmes dexploitation Ordonnancement du CPU Concepts de Base Critères dOrdonnancement Algorithmes dOrdonnancement Ordonnancement Multi-Processeur Ordonnancement Temps Réel Ordonnancement de Threads Exemples dOSs
2
6.2 URDL22005 Systèmes dexploitation Concepts de Base Utilisation CPU maximale obtenue avec la multiprogrammation Cycle CPU–E/S – Le déroulement dun processus consiste en une suite de cycles dexécution CPU et dattente dE/S Distribution cycles CPU
3
6.3 URDL22005 Systèmes dexploitation Séquence dAlternance de Cycles CPU et E/S
4
6.4 URDL22005 Systèmes dexploitation Histogramme des Temps de Cycles CPU
5
6.5 URDL22005 Systèmes dexploitation Ordonnanceur CPU Choisit parmi les processus prêts en mémoire, et alloue la CPU à lun deux Les décisions dordonnancement de la CPU sont pris lors: 1. Du changement détat exécution à en attente 2.Du changement détat de exécution à prêt 3. Du changement détat de en attente à prêt 4.De la terminaison dun processus Lordonnancement dans les cas 1 et 4 est non préemptif Pour les autres cas, cest préemptif
6
6.6 URDL22005 Systèmes dexploitation Dispatcheur Le dispatcheur donne le contrôle de la CPU au processus choisi par lordonnanceur à court terme; ceci comprend: Commutation de contexte Passer en mode utilisateur Sauter au bon endroit dans le programme pour le relancer Latence du Dispatcheur – temps pris par le dispatcheur pour stopper un processus et (re)lancer un autre
7
6.7 URDL22005 Systèmes dexploitation Critères dOrdonnancement Utilisation de la CPU – utiliser la CPU le maximum possible Débit (Throughput) – # de processus qui terminent leur exécution par unité de temps Temps de rotation (Turnaround time) – le temps depuis le lancement du processus jusquà sa terminaison (les attentes incluses) Temps dattente – temps dun processus dans la file dattente des processus prêts Temps de réponse – temps mis entre une requête émise et la première réponse, pas la sortie (pour les environnements à temps partagé)
8
6.8 URDL22005 Systèmes dexploitation Critères dOptimisation Utilisation maximale du CPU Débit maximum Temps de rotation minimal Temps dattente minimal Temps de réponse minimal
9
6.9 URDL22005 Systèmes dexploitation Ordonnancement First-Come, First-Served (FCFS) ProcessusTps CPU P 1 24 P 2 3 P 3 3 Supposons que les processus arrivent dans lordre suivant: P 1, P 2, P 3 Le diagramme de Gantt correspondant est: Temps dattente de P 1 = 0; P 2 = 24; P 3 = 27 Temps dattente moyen: (0 + 24 + 27)/3 = 17 P1P1 P2P2 P3P3 2427300
10
6.10 URDL22005 Systèmes dexploitation Ordonnancement FCFS (Cont.) Supposons que les processus arrivent dans lordre suivant P 2, P 3, P 1 Le diagramme de Gantt serait alors: Temps dattente de P 1 = 6; P 2 = 0 ; P 3 = 3 Temps dattente moyen: (6 + 0 + 3)/3 = 3 Meilleur résultat que le cas précédent Effet convoi un processus court derrière un processus long P1P1 P3P3 P2P2 63300
11
6.11 URDL22005 Systèmes dexploitation Ordonnancement Shortest-Job-First (SJF) Associer à chaque processus son prochain temps dutilisation du CPU. Utiliser ces temps pour choisir le processus avec le temps le plus petit Deux schémas: Non préemptif – dès que le CPU est donné à un processus, ce dernier ne peut être interrompu avant la fin de son temps CPU préemptif – si un nouveau processus débarque avec un temps CPU plus petit que le reste du temps CPU du processus courant, on commute vers le nouveau processus. Ce schéma est connu sous le nom de Shortest-Remaining-Time-First (SRTF) SJF est optimal – donne un temps moyen minimal pour un ensemble de processus donnés
12
6.12 URDL22005 Systèmes dexploitation ProcessusTps dArrivéeTps CPU P 1 0.07 P 2 2.04 P 3 4.01 P 4 5.04 SJF (non préemptif) Temps moyen dattente = (0 + 6 + 3 + 7)/4 = 4 Exemple de SJF Non-Préemptif P1P1 P3P3 P2P2 73160 P4P4 812
13
6.13 URDL22005 Systèmes dexploitation Exemple de SJF Préemptif ProcessusTps dArrivéeTps CPU P 1 0.07 P 2 2.04 P 3 4.01 P 4 5.04 SJF (préemptif) Temps dAttente Moyen = (9 + 1 + 0 +2)/4 = 3 P1P1 P3P3 P2P2 42 11 0 P4P4 57 P2P2 P1P1 16
14
6.14 URDL22005 Systèmes dexploitation Déterminer la Longueur du Prochain Temps CPU On peut juste estimer le temps Peut être fait à partir des temps dexécution précédents, utilisant une moyenne exponentielle
15
6.15 URDL22005 Systèmes dexploitation Prédiction de la Longueur du Prochain Temps CPU
16
6.16 URDL22005 Systèmes dexploitation Exemples dune Moyenne Exponentielle =0 n+1 = n Passé récent ne compte pas =1 n+1 = t n Seulement le dernier temps CPU compte Lexpansion de la formule donne: n+1 = t n +(1 - ) t n -1 + … +(1 - ) j t n -1 + … +(1 - ) n=1 t n 0 Comme et (1 - ) sont plus petits ou égaux que 1, chaque terme successif a un poids plus petit que son prédécesseur
17
6.17 URDL22005 Systèmes dexploitation Ordonnancement avec Priorité Une priorité (nombre entier) est associée à chaque processus Le CPU est alloué au processus à la priorité la plus grande (le plus petit entier la plus grande priorité) Préemptif Non préemptif SJF est un ordonnancement à priorité où la priorité correspond au temps CPU suivant Problème Famine : processus à faible priorité peuvent ne jamais sexécuter Solution Vieillissement : avec le temps, incrémenter la priorité des processus en attente
18
6.18 URDL22005 Systèmes dexploitation Tourniquet/Round Robin (RR) Chaque processus se voit alloué le CPU pour un temps limité (quantum), en général 10-100 milliseconds. A la fin de ce temps, le processus est arrêté et ajouté à la fin de la file dattente des processus prêts. Si n processus sont dans la file dattente des processus prêts et le quantum est q, alors chaque processus reçoit 1/n du temps CPU en parties de q unités. Aucun processus attend plus de (n- 1)q. Performance q large FIFO q petit q doit être large comparé au temps de commutation de tâche, sinon loverhead est trop grand
19
6.19 URDL22005 Systèmes dexploitation Exemple de RR avec Q = 20 ProcessusTemps CPU P 1 53 P 2 17 P 3 68 P 4 24 Le diagramme de Gantt est: Typiquement, une moyenne de temps de rotation plus grande que SJF, mais un meilleur temps de réponse P1P1 P2P2 P3P3 P4P4 P1P1 P3P3 P4P4 P1P1 P3P3 P3P3 02037577797117121134154162
20
6.20 URDL22005 Systèmes dexploitation Quantum et Temps de Commutation de Contexte
21
6.21 URDL22005 Systèmes dexploitation Temps de Rotation Varie avec le Quantum
22
6.22 URDL22005 Systèmes dexploitation File Multiniveaux La file dattente est partagée en files séparées: premier plan/foreground (interactif) arrière plan/background (batch) Chaque file a sa propre politique dordonnancement foreground – RR background – FCFS Un ordonnancement inter-files doit exister Ordonnancement à priorité fixe; (i.e., servir tous les processus de la file foreground puis ceux de la file background). Possibilité de famine. Time slice – chaque file obtient une partie du temps CPU quelle utilise pour ordonnancer ces processus en attente; i.e., 80% pour la file foreground en RR et 20% pour la file background en FCFS
23
6.23 URDL22005 Systèmes dexploitation Ordonnancement à Files Multiniveau
24
6.24 URDL22005 Systèmes dexploitation Ordonnancement avec Files Multiniveau à Retour Un processus peut changer de file; le vieillissement peut être implémenté de la sorte Un ordonnanceur de files multiniveaux à retour est défini suivant les paramètres suivants: Nombre de files Politique dordonnancement pour chaque file Méthode déterminant la promotion dun processus vers une file dattente plus prioritaire Méthode déterminant le passage dun processus dans une file moins prioritaire Méthode déterminant dans quelle file placer un nouveau service
25
6.25 URDL22005 Systèmes dexploitation Exemple de File Multiniveaux à Retour Trois files: Q 0 – quantum de 8 millisecondes Q 1 – quantum de 16 millisecondes Q 2 – FCFS Ordonnancement Un nouveau processus est placé dans Q 0 au début; à sa première exécution, il reçoit 8 millisecondes. Sil ne termine pas son exécution, il est replacé dans Q 1. Si un processus de la file Q 1 est servi (16 msec) et ne se termine pas, il est replacé dans Q 2.
26
6.26 URDL22005 Systèmes dexploitation Files avec Multiniveaux à Retour
27
6.27 URDL22005 Systèmes dexploitation Ordonnancement Multiprocesseur Lordonnancement CPU est plus complexe Processeurs homogènes dans un multiprocesseur Partage de charge Multitraîtement asymétrique – seulement un processeur accède aux structures de données systèmes, supprimant le besoin de partage de données
28
6.28 URDL22005 Systèmes dexploitation Ordonnancement Temps Réel Systèmes temps réel durs – exige la garantie quun processus soit terminée au bout dun temps bien défini Systèmes temps réel souples – exige que les processus plus prioritaires soient traîtés avant ceux de moins haute priorité
29
6.29 URDL22005 Systèmes dexploitation Latence du Dispatcheur
30
6.30 URDL22005 Systèmes dexploitation Evaluation des Algorithmes Modèles déterministes – prennent un échantillon et définissent les performances pour cet échantillon Modèles de files dattente Implémentation
31
6.31 URDL22005 Systèmes dexploitation Evaluation des Ordonnanceurs de CPU par Simulation
32
6.32 URDL22005 Systèmes dexploitation Ordonnancement Solaris 2
33
6.33 URDL22005 Systèmes dexploitation Priorités Windows XP
34
6.34 URDL22005 Systèmes dexploitation Ordonnancement Linux Deux algorithmes: temps partagé et temps réel Temps partagé Priorité basée sur des crédits – le processus avec le plus de crédits est choisi Crédit soustrait à loccurrence de linterruption horloge Quand crédit = 0, un autre processus est choisi Quand tous les processus ont un crédit = 0, on les créédite Basé sur des facteurs de priorité et de leur histoire Temps Réel Temps réel souple Posix.1b – deux classes FCFS and RR Le processus à la priorité la plus haute sexécute en premier
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.