6.1 URDL22005 Systèmes dexploitation Ordonnancement du CPU Concepts de Base Critères dOrdonnancement Algorithmes dOrdonnancement Ordonnancement Multi-Processeur.

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

[number 1-100].
Aires et périmètres.
Qualité du Premier Billot. 2 3 Défauts reliés à labattage.
Fabrice Lauri, François Charpillet, Daniel Szer
Licence pro MPCQ : Cours
Distance inter-locuteur
Fonctions & procédures
LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
Est Ouest Sud 11 1 Nord 1 Laval Du Breuil, Adstock, Québec I-17-17ACBLScore S0417 Allez à 1 Est Allez à 4 Sud Allez à 3 Est Allez à 2 Ouest RndNE
Les Prepositions.
Critère d’ordonnancement en temps réel Partie II
GEF 435 Principes des systèmes dexploitation Ordonnancement partie I (Tanenbaum 2.5)
GEF 435 Principes des systèmes d’exploitations
GEF 435 Principes des systèmes d’exploitation
F. Pascual - Laboratoire d’Informatique de Grenoble
Plan Ordonnancement Obtention des tests de faisabilité entre processus
Mémoire & Processus Cours SE - SRC
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
Plan de formation Chapitre 1 : Présentation de SAP
Ordonnancement des mouvements de deux robots
Ordonnancement du CPU Concepts de Base Critères d’Ordonnancement
Ordonnancement Processus
07/24/09 1.
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Module 4 - Ordonnancement Processus
Rappel // Basé sur le cours de Dr. Jaber Jemai
Synchronisation et communication entre processus
1 SERVICE PUBLIC DE LEMPLOI REGION ILE DE France Tableau de bord Juillet- Août 2007.
Chapitre 2 Système d’Exploitation Gestion des Processus
Titre : Implémentation des éléments finis sous Matlab
LES NOMBRES PREMIERS ET COMPOSÉS
Partie 1: Ondes et Particules.
La Saint-Valentin Par Matt Maxwell.
Les tâches suivantes doivent être exécutées P3 P2 P1 CPU processustemps d'arrivée temps d'exécution priorité P1553 P2311 P3223 P4114 * P est la plus.
8.1 URDL22005 Systèmes dexploitation Interblocages Modèle Système Caractérisation dinterblocage Méthodes pour Gérer les Interblocages Prévention des Interblocages.
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
3.27 ALLOCATION DU CPU Critères :
Programmation concurrente
Module 4 - Ordonnancement Processus
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Tournoi de Flyball Bouin-Plumoison 2008 Tournoi de Flyball
Notre calendrier français MARS 2014
Performance des algorithmes à véracité garantie pour l'ordonnancement de tâches individualistes F. Pascual - LIG En collaboration avec : G. Christodoulou,
3ème partie: les filtres
C'est pour bientôt.....
Veuillez trouver ci-joint
Fanny Pascual - Laboratoire d’Informatique de Grenoble (LIG)
Ordonnancement de tâches
SUJET D’ENTRAINEMENT n°4
L ’Ordonnancement Ordonnancement.
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Equation différentielle de 2ème ordre
CALENDRIER-PLAYBOY 2020.
1. Présentation générale du système
Quel est l’intérêt d’utiliser le diagramme de Gantt dans la démarche de projet A partir d’un exemple concret, nous allons pouvoir exploiter plusieurs parties.
Cours des Systèmes d’exploitations
Les Chiffres Prêts?
Médiathèque de Chauffailles du 3 au 28 mars 2009.
Ordonnancement (Scheduling)
Les Processus.
Systèmes d’exploitation Processus conclusion Modèle conceptuel de processus Pour masquer les effets des interruptions, les SE fournissent un modèle conceptuel.
Transcription de la présentation:

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

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

6.3 URDL22005 Systèmes dexploitation Séquence dAlternance de Cycles CPU et E/S

6.4 URDL22005 Systèmes dexploitation Histogramme des Temps de Cycles CPU

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 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

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é)

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

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: ( )/3 = 17 P1P1 P2P2 P3P

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: ( )/3 = 3 Meilleur résultat que le cas précédent Effet convoi un processus court derrière un processus long P1P1 P3P3 P2P

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

6.12 URDL22005 Systèmes dexploitation ProcessusTps dArrivéeTps CPU P P P P SJF (non préemptif) Temps moyen dattente = ( )/4 = 4 Exemple de SJF Non-Préemptif P1P1 P3P3 P2P P4P4 812

6.13 URDL22005 Systèmes dexploitation Exemple de SJF Préemptif ProcessusTps dArrivéeTps CPU P P P P SJF (préemptif) Temps dAttente Moyen = ( )/4 = 3 P1P1 P3P3 P2P P4P4 57 P2P2 P1P1 16

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

6.15 URDL22005 Systèmes dexploitation Prédiction de la Longueur du Prochain Temps CPU

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

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

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 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

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 P3P

6.20 URDL22005 Systèmes dexploitation Quantum et Temps de Commutation de Contexte

6.21 URDL22005 Systèmes dexploitation Temps de Rotation Varie avec le Quantum

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

6.23 URDL22005 Systèmes dexploitation Ordonnancement à Files Multiniveau

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

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.

6.26 URDL22005 Systèmes dexploitation Files avec Multiniveaux à Retour

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

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é

6.29 URDL22005 Systèmes dexploitation Latence du Dispatcheur

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

6.31 URDL22005 Systèmes dexploitation Evaluation des Ordonnanceurs de CPU par Simulation

6.32 URDL22005 Systèmes dexploitation Ordonnancement Solaris 2

6.33 URDL22005 Systèmes dexploitation Priorités Windows XP

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