GEF 435 Principes des systèmes d’exploitation

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Module Systèmes d’exploitation
Module Systèmes d’exploitation
Module Systèmes d’exploitation
Module Systèmes d’exploitation
Module Systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Le matériel des ordinateurs Revue Pt II (Tanenbaum 1.4)
GEF 435 Principes des systèmes dexploitation Structure du logiciel dE/S Partie II (Tanenbaum & 5.3.4)
GEF 435 Principes des systèmes dexploitation Principes et structure du logiciel dE/S (Tanenbaum 5.2 & 5.3)
GEF 435 Principes des systèmes dexploitation Les systèmes dexploitation en général (Tanenbaum 1.1 et 1.3)
Module Systèmes d’exploitation
Module Systèmes dexploitation Chapitre 6 Communication Interprocessus Partie III École Normale Supérieure Tétouan Département Informatique
Module Systèmes d’exploitation
Critère d’ordonnancement en temps réel Partie III
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Ordonnancement partie I (Tanenbaum 2.5)
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitations
Tolérance aux défaillances de logiciel
GEF 243B Programmation informatique appliquée Boucles §
GEF 435 Principes des systèmes d’exploitation
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Considération de temps.
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) II (Tanenbaum 2.3)
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Tests.
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) III (Tanenbaum 2.3)
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Architecture du logiciel II.
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Modélisation II.
GEF 435 Principes des systèmes dexploitation Concepts des Systèmes dexploitation (Tanenbaum 1.5)
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Appels de système (Tanenbaum 1.6)
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 243B Programmation informatique appliquée
Synchronisation des Processus
PLAN du COURS Introduction Structure des Systèmes Informatiques
Chapitre 3 Interblocages
Mémoire & Processus Cours SE - SRC
INTRODUCTION.
LE MODE SANS ECHEC « Des explications ? ». UN PROBLEME PRATIQUE « plante » Quoi que vous ayez pu faire ou même sans navoir rien fait, votre ordinateur.
                                        République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique.
Interblocage = impasse (Deadlock)
Séance 12 Partenaire stratégique (modèle de Dave Ulrich, 1997)
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.
Module 6 - Interblocage = impasse (Deadlock)
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Revisé 2006 Modèle de performance dun serveur simple Nous supposons que le serveur traite une requête après lautre (sans parallisme) Modèle de files dattente.
Chapitre 3 Interblocages 3.1. Ressources
L ’Ordonnancement Ordonnancement.
Gestion de processus Corrigé TD 1 EFREI I
Interactions entre Processus
GF-11: Tri Interne Efficace et Tri Externe
1 Windows 2003 Server Stratégie des comptes. 2 Windows 2003 Server Il faut tenir compte de ces 3 paramètres.
Applications Internet Cours 3 21 janvier 2010 Cours 3 21 janvier 2010.
Introduction à la gestion de projet
DECOUVERTE DE L’INFORMATIQUE
Systèmes d’exploitation Processus conclusion Modèle conceptuel de processus Pour masquer les effets des interruptions, les SE fournissent un modèle conceptuel.
Systèmes d’exploitation
Interblocage = impasse (Deadlock)
Crédits SommaireSystème & Processus Système et Applications Système, programmes & données Définition Système & UtilisateursSystème et Interface CULTURE.
Chapitre 6 Résolution des problèmes liés au processus d'amorçage et au système Module S41.
Transcription de la présentation:

GEF 435 Principes des systèmes d’exploitation Interblocage (Tanenbaum 3.1, 3.2, 3.3)

Revue Quels facteurs sont pris en ligne de compte quand on veut désigner une grandeur de quantum pour l’ordonnance tourniquet (Round-Robin)? Comment est-ce que l’ordonnance du processus le plus court le prochain fonctionne dans un système interactif? Quantum size: If the quantum size is large then interactive processes will appear sluggish If the quantum size is small then the overhead involved with a context switch becomes unbearable We must consider the average length of CPU burst We must consider the context switch time Shortest process next can work by “aging” the time taken for previous instructions, ie: T0/4 + T1/4 + T2/2

Synopsis Ressources Introduction aux interblocages Conditions pour l’interblocage Modélisation des interblocages Stratégies pour faire face aux interblocages L’algorithme de l’autruche (Plus à la prochaine classe)

Ressources Les processus on souvent besoin d’accès exclusifs aux ressources (mémoire, fichiers, périphériques, …) pour exécuter leurs fonctions Peut être du matériel, ie: tape drive Peut être de l’information, ie: enregistrement dans une base de données On peut avoir plusieurs copies des ressources qui existent, ie, on peut avoir deux CD-ROMs sur un PC Pour cette section sur les interblocages, nous référons à la collection d’objets qui peuvent être réservés exclusivement par un processus comme étant des ressources

Ressources Les ressources nous viennent en deux saveurs: Une ressource qui est non-préemptible ne peut pas être enlevé à un processus eg: un écrivain de CD-ROM durant un enregistrement Une ressource qui peut être préemptée est une ressource qui peut être enlevée La mémoire est une ressource. Un processus qui exécute dans la mémoire peut être swapé pour un autre processus pour exécuter Considérez: deux processus où un seul à la fois peur être en mémoire. Si le premier processus obtient l’imprimante et est ensuite swapé; et que par la suite le deuxième processus a besoin de l’imprimante, on pourrait avoir un interblocage. Cependant parce que la mémoire est préemptive la situation peut être résolue en suspendant un des processus.

Ressources En général les ressources non-préemptives sont un requis pour avoir un interblocage Ce cours se penche sur les ressources qui ne sont pas préemptives Notre abstraction des processus qui utilisent les ressources: Demande la ressource (bloque si la ressource n’est pas disponible) Utilise la ressource Relâche la ressource Not all operating systems will have a process block if the resource is not available. An error code may be returned instead and the process may sleep and/or busy wait. However, the end result as far as deadlocks are concerned is the same, and for the purposes of this course we will consider processes that request unavailable resources as blocked.

Définition de l’interblocage Définition formelle: Un ensemble de processus sont en interblocage si chaque processus attend pour un événement que seulement un autre processus dans l’ensemble peut causer Donc les processus dans l’ensemble ne vont pas s’éveiller parce qu’ils attendent après d’autres processus dans l’ensemble qui ne s’éveilleront jamais Supposition: chaque processus a un seul fil d’exécution et aucune interruption ne peut éveiller un processus qui est bloqué This thing about the interrupts is important because it otherwise might prevent the problem. In other words, processes will only go on the move again once they have the resource they need.

Conditions pour l’interblocage Il y a quatre conditions pour engendrer un interblocage. Si une de ces conditions est absente, l’interblocage est impossible Condition d’exclusion mutuelle. Chaque ressource est couramment utilisée par exactement un processus ou n’est pas disponible Condition de tenir et attendre.(hold and wait) Les processus qui tiennent des ressources allouées plutôt, peuvent demander de nouvelles ressources (et possiblement attendre) Note that these conditions are kind of hard to get rid of.

Conditions pour l’interblocage Il y a quatre conditions pour engendrer un interblocage: Condition de non-préemption. Les ressources qui ont étés assignées auparavant ne peuvent pas être enlevées de force à un processus. Elles doivent être relâchées explicitement par le processus qui les tient Condition d’attente circulaire. Il doit y avoir une chaîne d’attente circulaire avec deux processus ou plus, chacun d’entre eux attendant pour une ressource tenue par un autre membre dans la chaîne

Modélisation de l’interblocage Les graphes dirigés peuvent être utilisés pour modéliser les interblocages : Ressource ‘R’ donnée au processus ‘A’ R A Ressource ‘R’ Processus ‘A’ Click for the resource, then the process, then the arc, then the second diagram. Processus ‘A’ attend pour la ressource ‘R’ R A

Modélisation de l’interblocage Comment est-ce que les interblocages sont représentés graphiquement? C’est une boucle fermée dans un graphe dirigé Process C is waiting for resource T which is held by process D which is waiting for resource U which is held by process C. Ugh.

Modélisation de l’interblocage Comment peut-on utiliser les graphes dirigés? Ce sont des outils qui nous laissent voir si une séquence d’allocation et relâche de ressources vont entraîner un interblocage Exemple: trois processus, A, B, et C et trois ressources R, S, et T. A peut utiliser R et S, B peut utiliser S et T, et C peut utiliser T et R

Modélisation de l’interblocage A demande R B demande S C demande T A demande S B demande T C demande R interblocage! The important thing to realize is that there are tools that can detect deadlock If the Operating System was ‘watching’ this unfold then it may have blocked B until A was finished with its resources Est-ce que cela nous aide à prévenir les interblocages? Pas encore; plus tard nous allons voir comment cette vérification visuelle peut être implémentée comme un algorithme pour détecter les interblocages

Stratégies pour les interblocages On sait comment les interblocages arrivent, mais que peut-on faire pour les arrêter? Quatre stratégies: Ignorer le problème (L’algorithme de l’autruche) Détection et reprise Laisser l’interblocage arriver, mais les détecter et prendre action pour les corriger Évitement dynamique Allouer les ressources très judicieusement Prévention Empêcher une des quatre conditions discutées plus tôt Those conditions being: Mutual exclusion condition Hold and wait (can hold onto a resource and wait for another) No preemption condition Circular wait condition

Stratégies pour les interblocages L’algorithme de l’autruche Accepter les interblocages et n’avoir aucun plan pour les régler Entre amis que veut dire l’écran bleue de la mort de toute façon? Called Ostrich algorithm from the idea of sticking your head in the sand and pretending that there is no problem at all.

This is all about picking your battles correctly though This is all about picking your battles correctly though...this may not be a situation where a BSOD is not acceptable. However, it’s not as much of a concern on a home PC.

Stratégies pour les interblocages L’algorithme de l’autruche Actuellement une solution très viable Si la probabilité d’interblocage est d’une fois par année, et que le matériel demande d’être redémarré chaque jour, est-ce qu’une solution d’interblocage très robuste est requise (temps et $)? Ce genre d’algorithme est utilisé pour Unix et Windows: Il y a un nombre de processus limité (N) qui peut être démarré. Si X processus ont (N-1) processus enfants qui exécutent, et que cinq processus de plus sont requis par les processus pour finir leurs job, vous avez un interblocage Check the book on this next year.

Quiz Time! Questions? What are the four conditions required for deadlock? Hold and wait condition (processes can request multiple resources) Mutual exclusion condition (resources can either be available or held by only one resource) No preemption condition Circular wait condition What are our four strategies for dealing with deadlocks (by name) The ostrich algorithm Deadlock detection Avoidance through careful resource allocation Prevention by disrupting one of the four conditions we have for deadlocks.