Cours Systèmes d exploitation 1



Documents pareils
DAns un système multi-utilisateurs à temps partagé, plusieurs processus

Cours A7 : Temps Réel

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Partie 7 : Gestion de la mémoire

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Annexe 6. Notions d ordonnancement.

Ordonnancement temps réel

Introduction aux Systèmes et aux Réseaux

Métriques de performance pour les algorithmes et programmes parallèles

Cours Programmation Système

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Cours de Systèmes d Exploitation

On appelle variable condition une var qui peut être testée et

Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Chapitre 4 : Outils de communication centralisés entre processus

gestion des processus La gestion des processus

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

Gestion des processus

Ordonnancement temps réel

Support de cours système d exploitation

Chapitre 2. Les processus. 2.1 Introduction. 2.2 les différents états d un processus

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Systèmes d exploitation Gestion de processus

Un ordonnanceur stupide

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

4D v11 SQL Release 5 (11.5) ADDENDUM

VMT Mod : Ventilation modulée pour le tertiaire

Problèmes liés à la concurrence

Systemes d'exploitation des ordinateurs

Représentation des Nombres

UC4 effectue tout l ordonnancement batch pour Allianz en Allemagne

Erreurs les plus fréquentes Guide de dépannage

Simulation d application des règles CNAV AGIRC ARRCO sur des carrières type de fonctionnaires d Etat

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

1 Mesure de la performance d un système temps réel : la gigue

Chapitre 2. Cluster de calcul (Torque / Maui) Grid and Cloud Computing

ITIL Gestion de la capacité

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.

Accédez au test ici

Introduction à la théorie des files d'attente. Claude Chaudet

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE

IV- Comment fonctionne un ordinateur?

GPA770 Microélectronique appliquée Exercices série A

CHAPITRE VIII : Les circuits avec résistances ohmiques

Guide de fonctions du téléphone du système SCI Norstar

IBM Tivoli Monitoring, version 6.1

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Séance 4. Gestion de la capacité. Gestion des opérations et de la logistique

Évaluation et implémentation des langages

Performance et usage. La différence NETGEAR - R7000. Streaming HD illimitée

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Internet et Multimédia Exercices: flux multimédia

Systèmes d exploitation

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Introduction MOSS 2007

Cours A7 : Temps Réel

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Analyse du temps de réponse des systèmes temps réel

LA MESURE DE PRESSION PRINCIPE DE BASE

Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite

CEG4566/CSI4541 Conception de systèmes temps réel

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Multichronomètre SA10 Présentation générale

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

La continuité de service

E5SR : PRODUCTION ET FOURNITURE DE SERVICES. Durée : 4 heures Coefficient : 5 CAS RABANOV. Éléments de correction

Contributions à l expérimentation sur les systèmes distribués de grande taille

DESCRIPTION DU CONCOURS QUÉBÉCOIS INFORMATIQUE (GESTION DE RÉSEAUX)

IBM Software Group. Migration vers Tivoli Workload Scheduler. Philippe TESSIER 2009 IBM Corporation

4.2 Unités d enseignement du M1

IP & Co. 1. Service DHCP. L'objectif de ce TP est de voir l'ensemble des services élémentaires mis en oeuvre dans les réseaux IP.

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

Les réseaux cellulaires

Ressources APIE. La comptabilisation des frais de R&D. de l immatériel. Pour agir. En bref. Agence du patrimoine immatériel de l État

îundesdruokerei Berlin

Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

PLAN DE COURS. GPA750 Ordonnancement des systèmes de production aéronautique

Structure fonctionnelle d un SGBD

Stockage de chaleur solaire par sorption : Analyse et contrôle du système à partir de sa simulation dynamique

NOTIONS DE RESEAUX INFORMATIQUES

Dynamic Host Configuration Protocol

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

Un propagateur basé sur les positions pour le problème d Open-Shop.

Les nombres entiers. Durée suggérée: 3 semaines

Services téléphoniques supplémentaires. Votre raccordement téléphonique est très doué. Novembre 2008

Cours de Génie Logiciel

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

Temps Réel. Jérôme Pouiller Septembre 2011

Mises à jour CELCAT depuis la version 6.4

MAITRISE DE LA CHAINE LOGISTIQUE GLOBALE (SUPPLY CHAIN MANAGEMENT) Dimensionnement et pilotage des flux de produits

Leçon 11. les tâches de gestion du magasin

Efficace et ciblée : La surveillance des signaux de télévision numérique (2)

Introduction aux systèmes temps réel. Iulian Ober IRIT

Transcription:

Cours Systèmes d exploitation 1 Achraf Othman Support du cours : www.achrafothman.net 1 Plan du cours Chapitre 1 : Gestion des processus Chapitre 2 : Ordonnancement des processus Chapitre 3 : La communication et la synchronisation interprocessus Chapitre 4 : La gestion de la mémoire Chapitre 5 : La gestion des fichiers Chapitre 6 : La gestion des périphériques 2 1

Ordonnancement des processus Chapitre 2 3 Aperçu du chapitre Concepts de base Critères d ordonnancement Algorithmes d ordonnancement Ordonnancement de multiprocesseurs Évaluation d algorithmes 4 2

Rappel Définition d un processus : Entité dynamique correspondant à l exécution d une suite d instructions. Caractéristiques : Un processus possède un identifiant unique (PID) Pile d instructions Compteur ordinal Adresses des ressources utilisés Identifiant du processus parent Les interruptions: Une commutation d état d un processus provoqué par un signal. Trois types : externes, déroutements, appels systèmes. 5 Cycle de vie d un processus (rappel) Création admis Processus libéré Prêt Actif Fin exécution Mort Epuisement temps alloué Ressource non disponible Ressource pas encore libéré Bloqué Destruction 6 3

Ordonnancement des processus On appelle ordonnancement des processus la stratégie d'attribution des ressources aux processus qui en font la demande. Différents critères peuvent être pris en compte : temps moyen d'exécution minimal temps de réponse borné pour les systèmes interactifs taux d'utilisation élevé de l'uc (unité de calcul) respect de la date d'exécution au plus tard, pour le temps réel, etc... besoin d un ordonnanceur? 7 Objectifs d un ordonnanceur Les objectifs d un ordonnanceur sont : Maximiser l utilisation du processeur Présenter un temps de réponse acceptable Respecter l équité entre les processus selon le critère d ordonnancement utilisé. 8 4

Types d ordonnancement Il existe 2 types d ordonnancement: Ordonnancement préemptif : Avec réquisition où l Ordonnanceur peut interrompre un processus en cours d exécution si un nouveau processus de priorité plus élevée est inséré dans la file des Prêts. Ordonnancement coopératif : Ordonnancement jusqu à achèvement : le processus élu garde le contrôle jusqu à épuisement du temps qui lui a été alloué même si des processus plus prioritaires ont atteint la liste des Prêts 9 Critères d ordonnancement L objectif d un algorithme d ordonnancement consiste à identifier le processus qui conduira à la meilleure performance possible du système. il s agit là d une évaluation subjective dans laquelle entrent en compte différents critères à l importance relative variable. La politique d ordonnancement détermine l importance de chaque critère. Un certain nombre d algorithmes ont fait leur preuve dans la mise en œuvre d une politique d ordonnancement. 10 5

Critères d ordonnancement fréquemment utilisés 1/4 Utilisation de l UC : Pourcentage de temps pendant lequel l UC exécute un processus. L importance de ce critère varie généralement en fonction du degré de partage du système. Utilisation répartie : Pourcentage du temps pendant lequel est utilisé l ensemble des ressources (outre l UC, mémoire, périphérique d E/S ) Débit : Nombre de processus pouvant être exécutés par le système sur une période de temps donnée. Priorités : attribue un traitement préférentiel aux processus dont le niveau de priorité est supérieur. 11 Critères d ordonnancement fréquemment utilisés 2/4 Temps de rotation : durée moyenne qu il faut pour qu un processus s exécute. Le temps de rotation d un processus comprend tout le temps que celui ci passe dans le système. Il est inversement proportionnel au débit. Temps d attente : durée moyenne qu un processus passe à attendre. Mesurer la performance par le temps de rotation présente un inconvénient : Le temps de production du processus accroît le temps de rotation ; Le temps d attente représente donc une mesure plus précise de la performance. Temps de réponse : Temps moyen qu il faut au système pour commencer à répondre aux entrées de l utilisateur. 12 6

Critères d ordonnancement fréquemment utilisés 3/4 Raison principale pour l ordonnancement Pourcentage d utilisation: garder UCT et modules E/S occupés Systèmes à temps partagés? Temps de réponse (pour les systèmes interactifs): le temps entre une demande et la réponse Serveurs? Débit : nombre de processus qui complètent dans l unité de temps Systèmes de traitement par lots (batch)? Temps de rotation : le temps pris par le proc de son arrivée à sa termin. Systèmes chargés? Temps d attente: attente dans la file prêt (somme de tout le temps passé en file prêt) 13 Critères d ordonnancement fréquemment utilisés 4/4 À maximiser Utilisation UCT: pourcentage d utilisation Débit: nombre de processus qui complètent dans l unité de temps À minimiser Temps de réponse (pour les systèmes interactifs): le temps entre une demande et la réponse Temps de rotation (turnaround): temps terminaison moins temps arrivée Temps d attente: attente dans la file prêt 14 7

Performance des algorithmes d Ordonnancement Les performances d un algorithme pour un ensemble de processus donné peut être analysée si les informations appropriées relatives aux processus sont fournies. Par exemple, des données sur l arrivée du processus et sur l heure d exécution de ce processus sont nécessaires pour évaluer l algorithme SRT. 15 Premier Arrivé, Premier Servi (First come, first serve, FCFS) Notez : aucune préemption Exemple: Processus Temps de cycle P1 24 P2 3 P3 3 Si les processus arrivent au temps 0 dans l ordre: P1, P2, P3 Le diagramme Gantt est: P 1 P 2 P 3 0 24 27 30 Temps d attente pour P1= 0; P2= 24; P3= 27 Temps attente moyen: (0 + 24 + 27)/3 = 17 16 8

Premier arrivé, premier servi (First come, first serve, FCFS) Utilisation UCT = 100% Débit = n(processus) / temps = 3/30 = 0,1 3 processus complétés en 30 unités de temps Temps de rotation moyen: (24+27+30)/3 = 27 P 1 P 2 P 3 0 24 27 30 17 Premier arrivé, premier servi (First come, first serve, FCFS) : Ordonnancement optimal! Si les mêmes processus arrivent à 0 mais dans l ordre P 2, P 3, P 1. Le diagramme de Gantt est: P 2 P 3 P 1 0 3 6 30 Temps d attente pour P 1 = 6 P 2 = 0 P 3 = 3 Temps moyen d attente: (6 + 0 + 3)/3 = 3 Beaucoup mieux! Donc pour cette technique, le temps d attente moyen peut varier grandement Exercice: calculer aussi le temps moyen de rotation, débit, etc. 18 9

Premier arrivé, premier servi (First come, first serve, FCFS) : Tenir compte du temps d arrivée! Dans le cas où les processus arrivent à moment différents, il faut soustraire les temps d arrivée Exercice: répéter les calculs si: P2 arrive à temps 0 P1 arrive à temps 2 P3 arrive à temps 5 19 Shortest Job First (SJF) Plus Court d abord Le processus le plus court part le premier Optimal en principe du point de vue du temps d attente moyen Mais comment savons nous! 20 10

SJF avec préemption ou non Avec préemption: si un processus qui dure moins que le restant du processus courant se présente plus tard, l UCT est donnée à ce nouveau processus SRTF: shortest remaining time first Sans préemption: on permet au processus courant de terminer son cycle Observation: SRTF est plus logique car de toute façon le processus exécutant sera interrompu par l arrivée du nouveau processus Il est retourné à l état prêt 21 Exemple de SJF sans préemption Processus Arrivée Cycle P 1 0 7 P 2 2 4 P 3 4 1 P 4 5 4 SJF (sans préemption) P 1 P 3 P 2 P 4 0 3 7 8 12 16 P 2 arr. P 3 arr. P 4 arr Temps d attente moyen = (0 + 6 + 3 + 7)/4 = 4 22 11

Exemple de SJF avec préemption Processus Arrivée Cycle P 1 0 7 P 2 2 4 P 3 4 1 P 4 5 4 SJF (préemptive) P 1 P 2 P 3 P 4 P 2 P 1 0 2 4 5 7 11 16 P 2 arr. P 3 arr. P 4 arr Temps moyen d`attente = (9 + 1 + 0 +2)/4 = 3 P1 attend de 2 à 11, P2 de 4 à 5, P4 de 5 à 7 23 Priorités Affectation d une priorité à chaque processus (p.ex. un nombre entier) souvent les petits chiffres dénotent des hautes priorités (dans UNIX) 0 la plus haute Windows fait l inverse donne un plus haute priorité aux plus grands chiffres L UCT est donnée au processus prêt avec la plus haute priorité avec ou sans préemption il y a une file prêt pour chaque priorité Priorités sont explicites Pour raisons politiques ou techniques Priorités implicites Voir SJF critiques 24 12

Problème possible avec les priorités Famine: les processus moins prioritaires n arrivent jamais à exécuter Solution: vieillissement: modifier la priorité d un processus en fonction de son âge et de son historique d exécution le processus change de file d`attente Plus en général, la modification dynamique des priorités est une politique souvent utilisée (v. files à rétroaction ou retour) Que faire avec les processus de même priorités? FCFS Ajoutons la préemption >le Tourniquet 25 Tourniquet = Round Robin (RR) Le plus utilisé en pratique Chaque processus est alloué un quantum de temps (p.ex. 10 100 millisecs.) pour s exécuter (terminologie du livre: tranche de temps) S il s exécute pour un quantum entier sans autres interruptions, il est interrompu par la minuterie et l UCT est donnée à un autre processus Le processus interrompu redevient prêt (à la fin de la file) Méthode préemptive P[7] P[6] P[0] P[1] P[2] P[3] La file prêt est un cercle (dont RR) P[5] P[4] 26 13

Performance de tourniquet S il y a n processus dans la file prêt et le quantum est q, alors chaque processus reçoit 1/n du temps UCT dans unités de durée max. q Si q grand FCFS Si q petit... nous verrons 27 Exemple: Tourniquet Quantum = 20 Processus Cycle P 1 53 P 2 17 P 3 68 P 4 24 P 1 P 2 P 3 P 4 P 1 P 3 P 4 P 1 P 3 P 3 0 20 37 57 77 97 117 121 134 154 162 Normalement, temps de rotation (turnaround) plus élevé que SJF mais temps attente moyen meilleur 28 14

Un petit quantum augmente les commutations de contexte (temps de SE) 29 Exemple pour voir l importance d un bon choix de quantum (à développer comme exercice) Trois cycles: A, B, C, toutes de 10 Essayer avec: q=1 q=10 Dans ce deuxième cas, tourniquet fonctionne comme FCFS et le temps de rotation moyen est meilleur 30 15

Exercices d ordonnancement Trois processus P1, P2, P3 arrivent au temps 0 dans la file prêt Cycles UCT de P1: 14,12,17 Cycles UCT de P2: 2,2,2,3,2,2,2,3,2,2,2,3,2,2,2,3 Cycles UCT de P3: 6,3,8,2,1,3,4,1,2,9,7 Opération E/S de 6 unités de temps entre chaque cycle UCT (en parallèle) Algorithmes d ordonnancement FCFS Tourniquet (quantum de 5) Non preemptive SJF ou Preemptive SJF Tourniquet avec priorité: P2=P3>P1 31 Files à plusieurs niveaux (multiples) La file prêt est séparée en plusieurs files, p.ex. travaux `d arrière plan` (background batch) travaux `de premier plan` (foreground interactive) Chaque file a son propre algorithme d ordonnancement, p.ex. tourniquet pour premier plan FCFS pour arrière plan Comment ordonnancer entre files? Priorité fixe à chaque file famine possible, ou Chaque file reçoit un certain pourcentage de temps UCT, p.ex. 80% pour premier plan 20% pour arrière plan 32 16

Ordonnancement avec files multiples 33 Files multiples et à retour Un processus peut passer d une file à l autre, p.ex. quand il a passé trop de temps dans une file À déterminer: nombre de files algorithmes d ordonnancement pour chaque file algorithmes pour décider quand un proc doit passer d une file à l`autre algorithme pour déterminer, pour un proc qui devient prêt, sur quelle file il doit être mis 34 17

Files multiples et à retour (trois files) PRIO = 0 PRIO = 1 PRIO = 2 35 Exemple de files multiples à retour Trois files: Q0: tourniquet, quantum 8 msecs Q1: tourniquet, quantum 16 msecs Q2: FCFS Ordonnancement: Un nouveau processus entre dans Q0, il reçoit 8 msecs d UCT S il ne finit pas dans les 8 msecs, il est mis dans Q1, il reçoit 16 msecs additionnels S il ne finit pas encore, il est interrompu et mis dans Q2 Si plus tard il commence à demander des quantums plus petits, il pourrait retourner à Q0 ou Q1 36 18

En pratique... Les méthodes que nous avons vu sont toutes utilisées en pratique (sauf plus court servi pur qui est impossible) Les SE sophistiqués fournissent au gérant du système une librairie de méthodes, qu il peut choisir et combiner au besoin après avoir observé le comportement du système Pour chaque méthode, plusieurs params sont disponibles: p.ex. durée du quantum, coefficients, etc. 37 Méthode d évaluation et comparaison d algorithmes Modélisation déterministe Modèles de files d attente (queuing theory) Simulation 38 19

Modélisation déterministe Essentiellement, ce que nous avons déjà fait en étudiant le comportement de plusieurs algorithmes sur plusieurs exemples 39 Utilisation de la théorie des files (queuing th.) Méthode analytique basée sur la théorie des probabilités Modèle simplifié: notamment, les temps du SE sont ignorés Cependant, elle rend possibles des estimées 40 20

Théorie des files: la formule de Little Un résultat important: n = W n: longueur moyenne de la file d attente : débit d arrivée de travaux dans file W: temps d attente moyen dans la file P. ex. si les travaux arrivent 3 par sec. W et il restent dans la file 2 secs n la longueur moyenne de la file sera??? Exercice: Résoudre aussi pour et W Observer que afin que n soit stable, W doit être stable Un débit d arrivée plus rapide doit impliquer un temps de service mineur, et viceversa Si n doit rester 6 et monte à 4, quel doit être W? 41 Simulation Construire un modèle (simplifié...) de la séquence d événements dans le SE Attribuer une durée de temps à chaque événement Supposer une certaine séquence d événements extérieurs (p.ex. arrivée de travaux, etc.) Exécuter le modèle pour cette séquence afin d obtenir des stats 42 21