La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

GEF 435 Principes des systèmes dexploitation Ordonnancement Pt II (Tanenbaum 2.5)

Présentations similaires


Présentation au sujet: "GEF 435 Principes des systèmes dexploitation Ordonnancement Pt II (Tanenbaum 2.5)"— Transcription de la présentation:

1 GEF 435 Principes des systèmes dexploitation Ordonnancement Pt II (Tanenbaum 2.5)

2 Revue Quand est-ce que lon prend des décision dordonnancement? Quels sont les buts de lordonnancement pour les systèmes interactifs

3 Synopsis Ordonnancement des systèmes interactifs Round-Robin – Tourniquet (Chacun son tour) Basé sur priorité Le processus le plus court en prochain Ordonnancement garanti* Ordonnancement de loterie Ordonnancement équitable Ordonnancement des systèmes en temps réel Synthèse générique de lordonnancement *Pas une garantie

4 Ordonnancement des systèmes interactifs Quelquun en quelque part est assit à un clavier et entre de linformation On se rappelle de nos objectifs: Temps de réponse rapide Proportionnalité (Les choses que les usagers pensent qui devraient prendre peu de temps; le devraient) Tout les algorithmes pour les systèmes interactifs peuvent être utilisés dans les systèmes de lots Pour les systèmes interactifs, notre cours est seulement concerné avec lordonnancement du CPU

5 Ordonnancement des systèmes interactifs Ordonnancement de tourniquet (Round-Robin) Chaque processus ce voit assigné une unité de temps qui sappelle un quantum Si le processus est encore en train dexécuter à la fin de son quantum, le CPU est donné à un autre processus Si le processus bloque ou finit avant la fin de son quantum le CPU est immédiatement réassigné Chaque processus a le CPU à son tour Seul décision dimplémentation : combien de temps est assigné pour un quantum?

6 Ordonnancement des systèmes interactifs Ordonnancement de type tourniquet Combien de temps dans un quantum? Le changement de processus prend du temps: sauve/charge les registres et la mappe de mémoire (MMU), les tables de mise à jour, vidage et chargement de la cache, pagination, etc... Pour un changement de contexte qui prend 1ms combien de temps devrait être dans un quantum? Considérez loverhead: Longueur du quantum 1ms4ms10ms20ms50ms Overhead 50%20%9.1%4.8%2%

7 Ordonnancement des systèmes interactifs Ordonnancement du type tourniquet Un autre justification pour un quantum plus large: Si le quantum est plus grand que la rafale moyenne de CPU les programmes vont bloquer plus souvent quils sont préemptés Moins de temps de système ( overhead ) et pertes Si les quantums plus grands sont mieux, pourquoi pas 100ms? Que ce passerait til si 10 utilisateurs frappent une clef en même temps? Attente longue: le dernier utilisateur pourrait avoir à attendre 1 seconde avant de voir son caractère sur lécran Bon compromis: 20 à 50ms ou à peu près (cependant cet estimé est dépendant du système...)

8 Ordonnancement des systèmes interactifs Ordonnancement par priorité Comme dans C/OS-II, certains processus sont plus égales que dautres…

9 Ordonnancement des systèmes interactifs Ordonnancement par priorité Basé sur les utilisateurs: Si nous partagions un mainframe alors lordre des priorités pourrait être: Dr Beaulieu, Capt Bob, étudiants GEF 435, étudiants 245,… Basé sur les processus: même sur un PC avec utilisateur unique il va y avoir des processus multiples. Quest-ce qui est plus prioritaire: le mouvement de la souris ou envoyer les courriels?

10 Ordonnancement des systèmes interactifs Ordonnancement par priorités: Comment est-ce que lon assigne les priorités? Statiquement: eg: chaque processus qui est créé par un processus à priorité X se voit assigné la priorité X Dynamiquement: Réagit pour donner au processus interactifs une priorité accrue Met la priorité à 1/f où f est la fraction du dernier quantum quun processus a utilisé... les commandes courtes font quun processus a une plus haute priorité

11 Ordonnancement des systèmes interactifs Ordonnancement par priorité: combien de temps on va laisser les processus exécuter? Quelques choix: À jamais jusquà ce que un processus de plus haute priorité arrive comme dans C/OS-II Pour un quantum, potentiellement plus de quantums donnés aux processus à plus hautes priorités Diminue la priorité dun processus chaque tic dhorloge jusquà ce que sa priorité soit plus basse quun autre processus (ie: on avance vers les processus de plus basse priorité)

12 Ordonnancement des systèmes interactifs Ordonnancement par priorité: hybride avec Round-Robin Avoir Round-Robin dans chaque groupe de priorité et exécute seulement les processus dans le groupe le plus haut Problème: Les processus avec les priorités les plus basses peuvent subir une famine...

13 Ordonnancement des systèmes interactifs Le processus le plus court le prochain Contrairement à plusieurs systèmes de lots, dans un système interactif nous ne savons pas combien de temps va prendre la prochaine commande dun utilisateur On traite chaque commande comme un job, et on estime le temps que la prochaine commande va prendre basé sur le travail précédent mais on age les commandes plus vielles: Si on a lestimé courrant pour la prochaine commande, T 0, et que notre prochaine exécute dans le temps T 1, alors notre nouvel estimé est T 0 /2 + T 1 /2 Après deux commandes de plus lestimé serait...? T 0 /8 + T 1 /8 + T 2 / 4 + T 3 /2

14 Ordonnancement des systèmes interactifs Ordonnancement garanti Chaque processus recevra 1/n du CPU quand il y aura n processus actifs Ceci requiert que les temps dutilisation du CPU pour chaque processus soient traqués et ajustés pour faire certain quun processus nait pas plus de temps que les autres Ne soyez pas confus par le nom, cette méthode ne garantie pas lordonnancement à un temps particulier Problème: difficile de rencontrer cette promesse et cela prend du temps à faire...

15 Ordonnancement des systèmes interactifs Ordonnancement par loterie Principe: Donne des billets et tire en un au hasard pour voir quel processus exécute Le grand prix: le temps du CPU Avantages: Bon temps de réponse: un nouveau processus a une chance dêtre ordonnancé à partir du début de sa vie Billets multiples peuvent être donnés pour arranger la fraction de temps du CPU Les processus qui coopèrent peuvent se donner des billets pour améliorer les chances dexécution

16 Ordonnancement des systèmes interactifs Ordonnancement équitable ( Fair-Share ) Cette méthode fait certain que chaque utilisateur obtient sa part équitable au lieu de chaque processus Si je démarre la calculatrice, Word, PowerPoint, et que jexécute un programme web, est que jobtiens 4x plus de temps de CPU quun utilisateur avec un seul processus? Dans ce modèle chaque utilisateur a un pourcentage du CPU quil divise entre ses processus ie: Chaque processus a 50%. Utilisateur 1 a les processus ABCD et Utilisateur 2 a le processus E. Si ils utilisent tout le temps du CPU, alors lordre sera: AEBECEDEAEBE...

17 Ordonnancement des systèmes en temps réel

18 Dans un système à temps dure (tolérance zéro), les deadlines doivent être rencontrés ou une catastrophe peut arriver Dans un système à temps mou, certains deadlines peuvent être manqué mais pas désirable Les événements peuvent être ou bien périodiques ou apériodiques Être capable de déterminer si il est possible pour un système en temps réel de rencontrer ses deadlines est le sujet dautres cours et beaucoup de recherche, mais…

19 Ordonnancement des systèmes en temps réel Si il y a m événements périodiques sur un système, chacun demandant C secondes de temps de CPU et ayant la périodicité P, considérez: Il est évident que si léquation nest pas satisfaite, il y a plus de travail à faire que le CPU peut prendre et les deadlines ne seront pas rencontrés le système nest pas « ordonnançable »

20 Sujets divers dans lordonnancement

21 Politique vs. Mécanisme Notre discussion de lordonnancement a assumé des processus en compétition pour le CPU avec différents buts et probablement différents propriétaires Que ce passe til dans un système en temps réel où les processus coopèrent? Que ce passe til pour un processus qui possède plusieurs threads enfants qui veulent travailler ensemble? Processus/threads qui travaillent ensemble peuvent bénéficier en séparant la politique de décisions du mécanisme qui applique les politiques

22 Sujets divers dans lordonnancement Politique vs. Mécanisme Dans cette configuration il y aura des temps où les processus peuvent spécifier leur politique dordonnancement et lordonnanceur implémente cette politique Exemple: Donner un appel de système où les processus peuvent changer les priorités de leurs enfants. Alors un processus décide la politique et lordonnanceur devient le mécanisme pour donner le CPU en accordance avec la politique

23 Sujets divers dans lordonnancement Ordonnancement des threads On se souvient que les threads peuvent être ordonnancés dans le noyau ou dans lespace utilisateur

24 Sujets divers dans lordonnancement Ordonnancement des threads Un ordonnanceur au niveau du noyau va être plus lent (à cause des traps au noyau) mais on doit considérer quen général, changer de thread est plus vite que changer de processus Un ordonnanceur dans lespace de lutilisateur sera plus efficace mais plus compliqué et il bloquera tout les threads durant un appel de système Pour décider lequel utilisé et comment lemployer est une question de compromis Cest du design

25 Quiz Time! Questions?


Télécharger ppt "GEF 435 Principes des systèmes dexploitation Ordonnancement Pt II (Tanenbaum 2.5)"

Présentations similaires


Annonces Google