Chapitre 3 Interblocages

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
Contrôle de la concurrence
GEF 435 Principes des systèmes d’exploitation
Les matrices.
Fabrice Lauri, François Charpillet, Daniel Szer
Thèmes du chapitre 3 La prise de décisions : l’essence même de la gestion 1. Le contexte de la prise de décisions 2. La méthode rationnelle de prise de décisions.
Algorithmes et structures de données avancés
CHAPITRE 6 L’analyse de la création de monnaie..
Synchronisation des processus père - fils
Module Systèmes dexploitation Chapitre 6 Communication Interprocessus Partie III École Normale Supérieure Tétouan Département Informatique
Critère d’ordonnancement en temps réel Partie III
GEF 435 Principes des systèmes d’exploitations
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) II (Tanenbaum 2.3)
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
Synchronisation des Processus
Introduction aux Systèmes d’Exploitation
Optimisation algébrique de requêtes relationnelles
Mémoire & Processus Cours SE - SRC
Configuration de Windows Server 2008 Active Directory
Section VI Structures répétitives (suite)
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.
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.
Synchronisation et communication entre processus
Méthodes d’analyse des circuits
Serveurs Partagés Oracle
Heuristiques A. Introduction B. Recherche d ’une branche
Programmation linéaire
Système d’exploitation
Adhésion simple non oui Rechercher une personne Ajouter une personne
Webinar – Pôle numérique CCI Bordeaux - 28 novembre 2013
Chapitre 3bis Applications linéaires et Matrices
Interblocage = impasse (Deadlock)
Des outils pour le développement logiciel
Test et débogage Tests unitaires. Gestion d’erreurs. Notion d’état, de pré-condition et de post-condition. Assertion. Traces de programme. Débogueur et.
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.
IFT Complexité et NP-complétude
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Chapitre XI Gestion des erreurs et exceptions. 2 La gestion des erreurs et exceptions De nombreux problèmes peuvent survenir pendant lexécution dun programme:
Programmation concurrente
Module 6 - Interblocage = impasse (Deadlock)
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.
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
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 6. Gestion des erreurs et des exceptions : Fonctionnement.
Programmation linéaire en nombres entiers : les méthodes de troncature
Qu’est-ce qu’un système d’exploitation ?
Systèmes de gestion de bases de données NFP 107 Les techniques du contrôle de concurrence Philippe Rigaux
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Gestion de processus Corrigé TD 1 EFREI I
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
GESTION DE PROJET
Interactions entre Processus
A) Avec l’ordonnancement Rate Monotonic les priorités des processus suivent l’ordre inverse des périodes : P1 est prioritaire sur P2, lui-même prioritaire.
Structures de données avancées : LH* D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
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.
Systèmes d’exploitation
Interblocage = impasse (Deadlock)
La gestion des flux de commande
SERVICE CLIENT Objectifs de la visite téléphonique :  Enquête sur l’utilisation et les attentes de perfectionnement et d’évolution du logiciel.  Questionnaire.
Chapitre 12 Surveillance des ressources et des performances Module S41.
Cycle, Cocycle, Arbre et Arborescence
Chapitre 9 Configuration de Microsoft Windows XP Professionnel pour fonctionner sur des réseaux Microsoft Module S41.
Transcription de la présentation:

Chapitre 3 Interblocages © Rim Moussa 2005-2006

Plan du chapitre Ressources Interblocage Comment gérer les interblocages? La politique de l’autruche Détection et Reprise des Interblocages Evitement des Interblocages Prévention des Interblocages

Ressources Exples: imprimantes, scanner, … 2 types de ressources ~ retirables (préemptibles): c’est une ressource pouvant être retirée sans dommages du processus. ~ non-retirables (non-préemptibles): c’est une ressource qui ne peut être enlevée sans que le traitement échoue, exples: retirer le graveur à un processus qui a commencé une gravure sur un CD. Séquence d’événements afin d’acquérir une ressource: Solliciter la ressource Utiliser la ressource Libérer la ressource

Modélisation des Interblocages Le processus A détient la ressource R. Le processus B demande la ressource R. Le processus C attend la ressource T, qui est détenue par le processus D. Le processus D attend la ressource U, qui est détenue par le processus C  Interblocage.

Conditions d’ce d’Interblocages Condition d’Exclusion Mutuelle Chaque ressource est soit: attribuée à un processus ou disponible Condition de Détention et d’Attente Un processus ayant déjà obtenu des ressources peut demander de nouvelles ressources Pas de Réquisition Une ressource allouée ne peut être retirée de force à un processus Condition d’Attente Circulaire Il doit y avoir un cycle d’au moins 2 processus, chacun attendant une ressource détenue par un autre processus du cycle

Comment gérer les Interblocages? Ignorer les problèmes « Politique de l’autruche » Détecter les interblocages et y remédier Éviter des interblocages en allouant les ressources avec précaution Prévenir en empêchant l’apparition d’une des 4 conditions d’existence d’interblocages

1 La politique de l’Autruche ‘plonger la tête dans le sable en prétendant qu’il n’y a aucun problème !’ Exple: supposons que la taille de la table de processus dans UNIX est égale à 100 10 processus s’exécutent, chacun doit créer 12 processus enfants La table est pleine dès que chaque processus a fini la création de son 9éme enfant Par la suite échec du fork Solution: pour résoudre l’interblocage, chaque processus retente après un temps aléatoire Windows et UNIX adoptent cette stratégie Raisonnable ssi: Les interblocages surviennent rarement Le coût de prévention contre les interblocages est prohibitif

2 Détection & Reprise des Interblocages Cas d’une ressource de chaque type: Graphe à ressources Cycle = interblocage ? Proposer un algo de détection de cycles dans un graphe

… Détection des Interblocages Cas de plusieurs ressources de chaque type: E: vecteur des ressources existantes A: vecteur des ressources disponibles C: matrice des allocations courantes R: matrice des demandes ? proposer un ordonnancement sans interblocages pour l’exple suivant

… Reprendre un Interblocage Reprendre au moyen de la préemption retirer provisoirement une ressource à son processus afin de l’attribuer à un autre processus Exple: retirer l’imprimante en suspendant le processus dont le fichier est en cours d’impression Reprendre au moyen du rollback Points de Reprise: l’état de chaque processus est sauvé afin de l’utiliser et restaurer un état précèdent. Reprendre au moyen de la suppression des processus Supprimer des processus jusqu’à ce que le cycle est détruit Les processus ‘victime’ détiennent des ressources dont d’autres processus du cycle ont besoin Choisir un processus qui peut redémarrer sans conséquences, exple: un processus de compilation de fichiers peut être redémarré alors qu’un processus qui met à jour des tuples d’une BD (solde += 100) introduit des erreurs.

3 Evitement des Interblocages Les algo d’évitement d’interblocages reposent sur le concept d’état sûr (safe state). Est ce que (a) est un état sûr?

… Evitement des Interblocages Est ce que (b) est un état sûr?

… Algo du banquier Consiste à examiner chaque nouvelle requête pour voir si elle conduit à un état sûr: Si oui, la ressource est allouée Sinon la requête est mise en attente Cas d’une ressource unique La banquier d’une petite ville dispose de 10 unités Les clients n’ont pas besoin immédiatement de leurs crédit max ? Déterminer si les états (a), (b) et (c) sont des états sûrs

… Algo du banquier Cas de +sieurs ressources C: matrice des ressources attribuées R: matrice des ressources en attente, le nbre de ressources dont chaque processus a besoin pour se terminer E: vecteur des ressources existantes P: vecteur des ressources détenues A: vecteurs des ressources disponibles

4 Prévention des Interblocages Si au moins une des 4 conditions n’est pas satisfaite: garantie de non-existence d’interblocages Comment s’attaquer à ces conditions? Exclusion Mutuelle  tout traiter en différé (mode spoule). Détention & attente  demander toutes les ressources dès le départ. Non-préemption  retirer des ressources. Attente circulaire  ordonner les ressources numériquement, et tel qu’un processus ne peut pas demander une ressource dont le numéro est inférieur au numéro d’une ressource déjà obtenue