Module 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
GEF 435 Principes des systèmes dexploitation Structure du logiciel dE/S Partie II (Tanenbaum & 5.3.4)
Tris.
Chapitre annexe. Récursivité
Fabrice Lauri, François Charpillet, Daniel Szer
Licence pro MPCQ : Cours
1 CNAM Vendredi 29 Novembre 2002 Bases de Données Avancées UV C Responsable : Mr Scholl PROTOCOLE A DEUX PHASES Meryem Guerrouani.
Algorithmes et structures de données avancés
Portée des variables VBA & Excel
Fonctions & procédures
Regroupement (clustering)
Calculs de complexité d'algorithmes
Statistique et probabilité Série n° 1
Module Systèmes dexploitation Chapitre 6 Communication Interprocessus Partie III École Normale Supérieure Tétouan Département Informatique
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 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
Chapitre 3 Interblocages
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Ordonnancement des mouvements de deux robots
Utilisation des tableaux
Par Clément en vacances sur la Côte d’Azur Le 17 décembre 2011
1 Théorie des Graphes Cycle Eulérien. 2 Rappels de définitions On dit qu'une chaîne est un chemin passant par toutes les arêtes du graphe. On dit qu'un.
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Récursivité.
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
La haute tour sombre 3 Des actions
Synchronisation et communication entre processus
Algorithmes Branch & Bound
18/05/ Utiliser le cahier de texte en ligne avec lapplication SPIP Adresse du site du lycée :
1.2 COMPOSANTES DES VECTEURS
Interblocage = impasse (Deadlock)
1.3 COORDONNÉES DES POINTS
Algorithme de Bellman-Ford
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.
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Courbes de Bézier.
Module 6 - Interblocage = impasse (Deadlock)
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
1.1 LES VECTEURS GÉOMÉTRIQUES
3.2 PRODUIT VECTORIEL Cours 7.
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Algorithmes d ’approximation
Chapitre 3 Interblocages 3.1. Ressources
Excel (Partie 2).
Ordonnancement de tâches
Le diagramme de séquences
Programmation dynamique
Atelier de formation : MAT optimisation II (les graphes).
Programmation linéaire en nombres entiers : les méthodes de troncature
Elaboré par M. NUTH Sothan 1. 2 Soit x, y et z des coordonnées cartésiennes à 3 dimension. G un ensemble de points dans le plan (u, v). Déf. : On appelle.
Coupes efficaces pour la relaxation lagrangienne
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Création et présentation d’un tableau avec Word 2007
07/23/09 1.
Cours de mathématiques économiques
Architecture Chapitre 4 Interruptions. 2 Plan Principe Schéma d’acquisition Les états d’une interruption Décentralisation des interruptions Exemples.
Gestion de processus Corrigé TD 1 EFREI I
Potentiel électrostatique
Programmation linéaire en nombres entiers
La pile de crêpes.
Systèmes d’exploitation Processus conclusion Modèle conceptuel de processus Pour masquer les effets des interruptions, les SE fournissent un modèle conceptuel.
Interblocage = impasse (Deadlock)
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
Transcription de la présentation:

Module Systèmes d’exploitation BTS Génie Informatqiue École Normale Supérieure Tétouan Département Informatique Module Systèmes d’exploitation Chapitre 8 Interblocage : Détection et reprise Partie II 2008-2009 Enseigant : AAMMOU Souhaib

Module Systèmes d'exploitation BTS Génie Informatqiue Revue Quelles sont les quatre conditions pour l’interblocage? Comment peut-on résoudre les interblocages? (quatre façons…) Four conditions: Mutual Exclusion Condition Hold and Wait condition No Preemption condition (can’t take resources away) Circular Wait condition (circular chain of two or more resources) To solve: Ostrich algorithm Detection and Recovery (today!) – Détection et reprise Avoidance by careful resource allocation – Evitement en allouant les ressources de façon prudente Prevention by removing one of the four conditions – Prévention en enlevant une des quatres conditions. Enseigant : AAMMOU Souhaib

Module Systèmes d'exploitation BTS Génie Informatqiue Synopsis Détection de l’interblocage Une ressource de chaque type Plusieurs ressources de chaque type Reprise à partir de la détection d’un interblocage Enseigant : AAMMOU Souhaib

Module Systèmes d'exploitation BTS Génie Informatqiue Interblocages Pour cette solution du problème de l’interblocage, nous acceptons que les interblocages vont arrivées mais on construit un système pour la détection de l’interblocage, et ceci veut dire que nous devons faire une reprise Est-ce que c’est pratique dans la vie réel? Reprise = réparation= correction = répétition = recommencement Enseigant : AAMMOU Souhaib

Détection de l’interblocage Graphes d’allocation ressources Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Graphes d’allocation ressources Un ensemble de sommets V et d’arêtes E V est partitionné dans: P = {P1, P2, …, Pn}, l’ensemble qui consiste de tous les procs dans le système R = {R1, R2, …, Rm}, l’ensemble qui consiste de tous les types de ressources dans le système arête requête – arête dirigée Pi  Rk arête affectation – arête dirigée Ri  Pk Enseigant : AAMMOU Souhaib

Détection de l’interblocage Graphes d’allocation ressources Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Graphes d’allocation ressources Processus Ressource dont il y a 4 exemplaires (instances) Pi a (ou aura) besoin pour terminer d’un exemplaire de Ri, dont il y en a 4 Pj a saisi (et utilise) un exemplaire de Rj Pi Ri Pi Rj Enseigant : AAMMOU Souhaib

Détection de l’interblocage Graphes d’allocation ressources Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Graphes d’allocation ressources Regardons un ensemble d’allocations et d’attentes: Processus A tient R et veut S Processus B tient rien mais veut T Processus C tient rien mais veut S Processus D tient U et veut S et T Processus E tient T et veut V Processus F tient W et veut S Processus G tient V et veut U One of the students should draw this up on the blackboard Enseigant : AAMMOU Souhaib

Détection de l’interblocage Graphes d’allocation ressources Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Graphes d’allocation ressources Recall that each of the process and resource “spots” are known as nodes and the connectors between them are arcs. Y a-t-il un interblocage? Enseigant : AAMMOU Souhaib

Détection de l’interblocage Graphes d’allocation ressources Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Graphes d’allocation ressources Y a-t-il un interblocage? Enseigant : AAMMOU Souhaib

Détection de l’interblocage Graphes d’allocation ressources Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Graphes d’allocation ressources Nous supposons l’existence des 3 premières conditions Excl. Mutuelle, saisie et attente, pas de préemption Pour montrer qu’il n’y a pas d’interblocage, nous devons montrer qu’il n’y a pas de cycle, car il y a un processus qui peut terminer sans attendre aucun autre, et puis les autres de suite <P3, P2, P1> est un ordre de terminaison de processus: tous peuvent terminer dans cet ordre Enseigant : AAMMOU Souhaib

Détection de l’interblocage Graphes d’allocation ressources Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Graphes d’allocation ressources Cycles: P1  R1  P2  R3  P3  R2  P1 P2  R3  P3  R2  P2 aucun proc ne peut terminer aucune possibilité d’en sortir Y a-t-il un interblocage? Enseigant : AAMMOU Souhaib

Détection de l’interblocage Graphes d’allocation ressources Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Graphes d’allocation ressources Graphe allocation ressources avec cycle, mais pas d’ interblocage (pourquoi?) Réponse : Attente circulaire, mais les ressources peuvent devenir disponibles Y a-t-il un interblocage? Enseigant : AAMMOU Souhaib

Détection de l’interblocage Graphes d’allocation ressources Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Graphes d’allocation ressources Constations: Les cycles dans le graphe alloc ressources ne signalent pas nécessairement une attente circulaire S’il n’y a pas de cycles dans le graphe, aucun interblocage S ’il y a de cycles: Si seulement une ressource par type, interblocage (pourquoi?!) Si plusieurs ressources par type, possibilité d’interblocage Il faut se poser la question: y-a-t-il un processus qui peut terminer et si oui, quels autres processus peuvent terminer en conséquence? Enseigant : AAMMOU Souhaib

Détection de l’interblocage Graphes d’allocation ressources Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Graphes d’allocation ressources P1 P2 P3 P4          Enseigant : AAMMOU Souhaib

Détection de l’interblocage Graphes d’allocation ressources Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Graphes d’allocation ressources Un graphe réduit d'allocation des ressources peut être utilisé pour déterminer si l'interblocage existe ou non. Pour cela, il convient de vérifier les flèches associées à chaque processus et à chaque ressource. Si une ressource ne possède que des départs de flèches (à savoir si elle n'a aucune requête imminente), il faut effacer toutes ses flèches. Si un processus n'a que des arrivées de flèches (ce qui revient à dire que toutes ses requêtes ont été octroyées), il faut également effacer toutes ses flèches . Si un processus a des flèches au départ, mais qu'un point de ressource est disponible pour chacune d'elles (un point sans flèche qui s'éloigne du processus) dans la ressource dans laquelle pointe la flèche, il faut aussi supprimer toutes les flèches du processus. Enseigant : AAMMOU Souhaib

Détection de l’interblocage Graphes d’allocation ressources Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Graphes d’allocation ressources Si, en passant en revue les processus, on trouve au moins un processus dont les flèches peuvent être effacées, il faut revenir et réitérer le processus, puis continuer jusqu'à ce qu'il n'y ait plus de flèche restante ou jusqu'à ce qu'aucune flèche ne puisse plus être retirée des processus. Le système est en interblocage si et seulement s'il ne reste plus de flèche. P1 P2 P3 P4          Enseigant : AAMMOU Souhaib

Détection de l’interblocage Algorithme de banquier Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Algorithme de banquier Comment peut-on implémenter un algorithme qui détecte un interblocage de la même façon que nos yeux? Enseigant : AAMMOU Souhaib

Détection de l’interblocage Algorithme de banquier Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Algorithme de banquier La solution est basée sur les matrices/vecteurs et utilise quatre structures de données pour identifier les conditions d’interblocage m classes de ressource (ie: m=2, imprimante, scanner) Ei instances pour chaque classe de ressource (1i  m) E est le vecteur des ressources existantes A est le vecteur des ressources disponibles Deux matrices: allocation courante (C) et demandes (R) Enseigant : AAMMOU Souhaib

Détection de l’interblocage Algorithme de banquier Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Algorithme de banquier Ressources en Existence (E1, E2, E3, ..., Em) Ressources Disponibles (A1, A2, A3, ..., Am) Périphérique apocalyptique Imprimante Scanneur Modem C11 C12 C13 ... C1m C21 C22 C23 C2m . Cn1 Cn2 Cn3 Cnm R11 R12 R13 ... R1m R21 R22 R23 R2m . Rn1 Rn2 Rn3 Rnm So, note that if we add up all of the device allocated from the matrix for a particular device (eg C11+C21+C31, ... + Cn1) and the available resources (A1) then we have the total resources in existence (E1) The i-th row of each matrix shows how many of each resource class has been allocated/requested by each process Columns are for indicating where resources from each class have been allocated/requested Note that those are requests. The don’t represent the maximum resources that a process may ever need, but they are resources which the processes now need or they cannot continue. Matrice d’allocation courante Matrice de demande Allouée au processus 2 Requis par processus 1 Enseigant : AAMMOU Souhaib

Détection de l’interblocage Algorithme de banquier Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Algorithme de banquier Comment utiliser ces structures de données pour détecter les interblocages? Comparaison de vecteurs. Définit AB qui veut dire que chaque élément dans A est moins que ou égal à l’élément correspondant dans B Mathématiquement, AB est vraie ssi AiBi pour 1im Commence par désigner chaque processus comme “non-marqué” Quand un processus est “marqué” cela indique qu’il est capable de compléter et n’est donc pas en interblocage (CE processus en particulier) Enseigant : AAMMOU Souhaib

Détection de l’interblocage Algorithme de banquier Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Algorithme de banquier Comment utiliser ces structures de données…? Maintenant on applique cet algorithme: Cherche pour un processus non marqué, Pi, pour lequel la ième rangé (ième ligne) de R est plus petite ou égale à A Si un tel processus est trouvé, ajoute la ième rangé de C à A, marque le processus et retourne à l’étape 1 Si aucun processus comme cela existe, l’algorithme termine Tout processus non marqué(s) quand l’algorithme termine sont interbloqués Enseigant : AAMMOU Souhaib

Détection de l’interblocage Module Systèmes d'exploitation BTS Génie Informatqiue Détection de l’interblocage Exemple: Est-ce qu’il y a un interblocage ici? Work this one out by using the pen (ctrl-P) Execute in order of 3-2-1 with no deadlock in the end NOTE: Error in book, page 173. It demonstrates how a minor variation in this causes a deadlock to occur. It says, “Suppose that process 2 needs a CD-ROM drive as well as the two tape drives and the plotter. None of the requests can be satisfied, so the entire system is deadlocked.” It should read “process 3” to make sense. Enseigant : AAMMOU Souhaib

Reprise de l’interblocage Module Systèmes d'exploitation BTS Génie Informatqiue Reprise de l’interblocage Maintenant nous pouvons détecter l’interblocage, comment pouvons nous reprendre un fonctionnement normal? Il n’y a pas de bon choix, juste un plus petit mal à partir d’un nombre de candidats Reprise par la préemption Reprise par le retour en arrière Reprise par l’élimination de processus (un ou plusieurs) Enseigant : AAMMOU Souhaib

Reprise de l’interblocage Module Systèmes d'exploitation BTS Génie Informatqiue Reprise de l’interblocage Reprise par la préemption Il peut être possible d’enlever une ressource d’un processus et la donner à un autre Ceci peut nécessiter l’intervention manuel ie: aller à l’imprimante et enlever les feuilles déjà imprimées pour ne pas mélanger les feuilles d’un autre processus Cette méthode est très dépendante du type de ressources – fréquemment difficile sinon impossible écrire à une base de données mais seulement la moitié de la job est faite...peut-on vraiment interrompe ça? Enseigant : AAMMOU Souhaib

Reprise de l’interblocage Module Systèmes d'exploitation BTS Génie Informatqiue Reprise de l’interblocage Reprisse par retour en arrière (rollback) Les processus sont marqué avec des points de reprise (checkpoints) périodiquement. Tout ce que l’on a besoin pour les repartir dans l’état exacte où ils sont est écrit dans un fichier (incluant les ressources assignées) Si un interblocage arrive, un état antécédent peut être restauré et certains processus retardés pour que les ressources ne soient pas demandés de la même façon et qu’un nouveau interblocage arrive Désavantage: Le temps et les ressources prisent pour sauver les états des processus Comment choisir l’intervalle des checkpoints Enseigant : AAMMOU Souhaib

Reprise de l’interblocage Module Systèmes d'exploitation BTS Génie Informatqiue Reprise de l’interblocage Reprise en éliminant des processus Pas élégant, efficace, mais potentiellement dommageable Il vaut mieux d’éliminer un processus dans le cycle s’il ne dérangera pas les autres processus dans le cycle. Alternativement, un autre victime qui tient une ressource requise (qu’il utilise et qu’il ne planifie jamais lâcher n’est pas ‘techniquement’ dans le cycle) peut être éliminé. Meilleur choix: un processus qui peut être ré-exécuté du début sans effets néfastes. Pire choix: processus qui modifie une ressource statique tel qu’une base de données. Best choice: if you’re just giving it some input data and it produces an output file, it can be done again, right? Worst choice: if the process is modifying the database by doing some incrementing then running it again will potentially add too much information to the database Enseigant : AAMMOU Souhaib

Module Systèmes d'exploitation BTS Génie Informatqiue Quiz Time! Questions? Enseigant : AAMMOU Souhaib