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

Documents pareils
Cours de Systèmes d Exploitation

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

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

L exclusion mutuelle distribuée

Chapitre 4 : Exclusion mutuelle

GUIDE PRATIQUE déplacements professionnels temporaires en France et à l étranger

Cours de Base de Données Cours n.12

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

Algorithmique répartie

Problèmes liés à la concurrence

Guichet automatique de banque

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Ordonnancement temps réel

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

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin Algorithmique 1

Partie 7 : Gestion de la mémoire

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

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

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

Programmation linéaire

Optimisation for Cloud Computing and Big Data

Promouvoir l identité coopérative via la RSE? Quelques premiers résultats sur données européennes et françaises

Audit activité base Oracle / SAP

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date :

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Systèmes et algorithmes répartis

Compte-rendu re union Campus AAR 3 mars 2015

Guide d implémentation. Réussir l intégration de Systempay

Konica Minolta, un leader aux standards de sécurité les plus élevés du marché

CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (

Programmation linéaire

Windows Internet Name Service (WINS)

SPECIFICATIONS TECHNIQUES : Gestion des Médicaments et des commandes de médicaments

Charte d'utilisation des infrastructures de la plate-forme bioinformatique Genotoul

Annexe 6. Notions d ordonnancement.

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com IBM Corporation

10 problèmes de réseau courants que PRTG Network Monitor vous aide à résoudre

Chapitre 5 : Flot maximal dans un graphe

Conventions d écriture et outils de mise au point

Votre Réseau est-il prêt?

Intelligence Artificielle Planification

B. Le rapprochement bancaire

CONDITIONS GENERALES D ACCES ET D UTILISATION DE GESPODO, PLATEFORME ET LOGICIEL DE GESTION DE CABINET DE PODOLOGIE

CAHIER DES CHARGES D'IMPLANTATION

Créer et modifier un fichier d'import des coordonnées approximatives avec Excel

Resolution limit in community detection

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

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

Les processus légers : threads. Système L3, /31

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Guide pratique spécifique pour la mise en place d un accès Wifi

V 8.2. Vous allez utiliser les services en ligne de la plate forme de dématérialisation de la Salle des Marchés achatpublic.com.

Contrainte de flot pour RCPSP avec temps de transfert

Jean-Philippe Préaux

PREINSCRIPTION EN LIGNE

Gestion de clusters de calcul avec Rocks

Organismes de bienfaisance et assurance vie

Facebook. Un lien vers Facebook se trouve sur la page d accueil du site CSQ :

Système de Gestion de Fichiers

CONVENTION INDIVIDUELLE D HABILITATION. «Expert en automobile indépendant» (convention complète)

Utilisation du plugin AppliDis SLB (Smart Load Balancing)

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

Optimisation Discrète

Ordonnancement temps réel

(Third-Man Attack) PASCAL BONHEUR PASCAL 4/07/2001. Introduction. 1 Domain Name Server. 2 Commandes DNS. 3 Hacking des serveurs DNS

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

NIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE

Conception des systèmes répartis

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

Concilier mobilité et sécurité pour les postes nomades

Vos questions. Quel est l objectif de cette augmentation de capital?

CONVENTION INDIVIDUELLE D HABILITATION. «société d assurance indépendante» (Convention complète)

MANUEL D UTILISATION DE LA SALLE DES MARCHES APPEL D OFFRES OUVERT ACCES ENTREPRISES. Version 8.2

STARTUP GUIDE FileExchange

Données Réparties. Thibault BERNARD.

Règlement relatif à l utilisation des ressources informatiques et de télécommunication

Comment régler un litige avec son vendeur de produits financiers?

Cours Bases de données 2ème année IUT

Guide d utilisation du service de transfert sécurisé de fichiers. Édition du 3 octobre 2011

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Le Candidat paramédical Test d aptitude physique. Trousse d information. Élaboré et administré pour Ambulance Nouveau-Brunswick par

Traitement de Visa Débit

Les artisans et leur banque

Prototype de canal caché dans le DNS

LIVRE BLANC DE LA GESTION DES RESSOURCES MULTIPROJET

Le Protocole DHCP. Définition. Références. Fonctionnement. Les baux

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

«Créer et gérer son entreprise»

Contrôle parental NOTE AUX PARENTS. Vita avant d autoriser votre enfant à jouer. Régler le contrôle parental sur le système PlayStation

Plateforme PAYZEN. Définition de Web-services

La sécurité des réseaux sans fil à domicile

Vérifier la qualité de vos applications logicielle de manière continue

7. ECONOMIE 7.3. COMMERCE GESTIONNAIRE DE TRES PETITES ENTREPRISES

SARL NGP INFORMATIQUE au capital de 45059, RCS Rennes NAF 4741Z siège social 9, square du 8 mai RENNES CONDITIONS GENERALES

Dynamic Host Configuration Protocol

Foresters Viefamille Le guide du conseiller

OBJECTIF DU GUIDE 1-L ENCADREMENT JURIDIQUE DES ACTIVITES D ASSURANCE

Groupe Eyrolles, 2006, ISBN : X

Mise en oeuvre TSM 6.1

Bases de données Cours 5 : Base de données déductives

Transcription:

Systèmes d Exploitation - ENSIN6U3 Allocation des ressources Leonardo Brenner 1 Jean-Luc Massat 2 1 Leonardo.Brenner@univ-amu.fr 2 Jean-Luc.Massat@univ-amu.fr Aix-Marseille Université Faculté des Sciences

Table de matière 1 Ressources Définition des ressources Allocation de ressources 2 Interblocages Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 2 / 24

Ressources Définition des ressources Définition des ressources Définition d une ressource Une ressource est un objet utilisable par une tâche. Elle est caractérisée par : l existence d un mode d emploi ; un état (libre ou allouée) ; l existence d un allocateur que répond aux requêtes. Type de ressources On distingue les ressources : banalisées : qui ont des occurrences multiples (imprimantes, canaux d E/S) ; réquisitionnables : CPU, mémoire ; physiques ou logicielles ; partageables ou réentrantes : pour le code d un programme. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 4 / 24

Ressources Utilisation des ressources Définition des ressources Étapes d utilisation Demande : représente l étape de demande d une ressource. Si la demande ne peut pas être satisfaite, on la met en attente ; Utilisation : le processus peut utiliser la ressource ; Libération : le processus libère la ressource demandée et allouée. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 5 / 24

Ressources Allocation de ressources Objectif de l allocation de ressources Objectif Les allocateurs de ressources doivent : être équitables (en respectant les priorités) ; éviter la privation (attente sans fin d une ressource) ; éviter l apparition d un interblocage ; éviter une congestion en veillant à : identifier une demande excessive de ressources ; ne pas accepter de demandes quand le système est en surcharge. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 6 / 24

Ressources Allocation de ressources Le graphe d allocation de ressources Graphe d allocation L état des ressources est décrit au moyen d un graphe de l allocation de ressources. Un processus P i et une ressource R j ayant 3 occurrences sont décrits par : Pi Rj Demandes d allocation Les demandes d allocation et les ressources allouées sont décrits par : (a) P1 R1 P1 réclame une ressource de type R1 (b) R2 P1 Une ressource de type R2 a été allouée à P1 Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 7 / 24

Les interblocages Interblocages Définition - Interblocage Attente indéfinie pour un ou plusieurs processus d une ou plusieurs ressources détenues par des processus en attente de ressources. Conditions d apparition Exclusion mutuelle : les ressources ne sont pas partageables ; Détention et attente : chaque processus utilise simultanément plusieurs ressources ; Pas de préemption : les ressources ne sont pas réquisitionnables ; Attente circulaire : il existe un ensemble de processus (p 0,..., p n ) tel que : p i attend p i+1 pour 0 i < n, p n attend p 0. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 9 / 24

Un exemple d interblocage Deux processus en interblocage Un interblocage représenté par un graphe d allocation des ressources : processus A La ressource 1 est détenue par le processus A ressource 1 Le processus B réclame la ressource 1 processus B Le processus A réclame la ressource 2 ressource 2 La ressource 2 est détenue par le processus B P a P b (1) prendre R 1... (2) prendre R 2 (3) prendre R 2.. (4) prendre R 1 Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 10 / 24

Comment traiter les interblocages Ignorer les problèmes : politique de l autruche ; La prévention : On impose des règles strictes qui évitent l apparition d un interblocage ; L évitement : On surveille l apparition d un interblocage en imposant des contraintes moins strictes ; La détection : Un algorithme à la charge de détecter les interblocages ; La guérison : Suppression éventuelle de l un des processus. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 11 / 24

Ignorer les problèmes Interblocages Politique de l autruche Cette stratégie consiste à ignorer complètement les possibilités d interblocages. C est à les utilisateurs de coder correctement leurs applications et de surveiller à la bonne exécution. Critiques + Solution adoptée par la plupart des systèmes d exploitation courants ; + Très rapide et légère, il n y a rien à implémenter ; - Aucune garantie sur le bon fonctionnement du système. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 12 / 24

Prévention des interblocages (1/5) Annonce des demandes Annoncer les demandes de ressources nécessaires avant de démarrer un processus. Le processus ne démarre que si tous les ressources demandées sont disponibles. Critiques + solution parfaite ; - très mauvaise utilisation des ressources ; - programmes difficiles à écrire (on ne connaît pas les ressources en avance) ; - risque de famine. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 13 / 24

Prévention des interblocages (2/5) Libération et re-allocation des ressources À chaque demande d allocation d une ressource supplémentaire, il faut libérer toutes les ressources détenues et les redemander en y ajoutant la ressource supplémentaire. Critiques - très mauvaise utilisation des ressources (perte au milieu de l utilisation) ; Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 14 / 24

Prévention des interblocages (3/5) Virtualisation de ressources Diminuer le nombre de ressources qui ne peuvent pas être réquisitionnées. interdire l accès direct à la ressource, remplacer la ressource réelle par une ressource virtuelle. Exemple de virtualisation de ressources processeur processus ; mémoire mémoire virtuelle ; imprimante queue d impression ; écran double-buffer, display ; machine machine virtuelle. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 15 / 24

Prévention des interblocages (4/5) Ressources réquisitionnables Pour supprimer la contrainte de non réquisition. On peut utiliser le protocole suivant : un processus détenant certaines ressources en demande une autre si la ressource peut être allouée immédiatement, alors le processus continue avec la ressource demandée ; sinon, toutes les ressources actuellement allouées au processus sont réquisitionnées. Critiques - Lenteur - Risque de famine Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 16 / 24

Prévention des interblocages (5/5) Classement des ressources Classer les ressources suivant un ordre, et respecter cet ordre lors des demandes de ressources. Critiques + La condition d attente circulaire est impossible donc pas d interblocage possible ; - Cet ordre doit respecter une certaine logique,... mais laquelle? - La contrainte est très lourde ; - La portabilité des applications est médiocre ; - Que faire quand on ajoute une nouvelle ressource? Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 17 / 24

Évitement des interblocages Politique d évitement : Prudence On évite les interblocages en adoptant un comportement prudent. La méthode la plus connu est l algorithme des banquiers. Principe Cet algorithme consiste à examiner chaque nouvelle requête pour voir si elle conduit à un état sain. Si c est la cas, la ressource est allouée, sinon la requête est mise en attente. État sain le S.E. connaît les demandes maximales ; les allocations/libérations sont libres. Un système est dans un état sain s il existe une séquence saine. Une séquence de processus P 1,..., P n est une séquence saine pour l état d allocation courant si, pour chaque P i, les requêtes des ressources de P i peuvent être satisfaites par les ressources disponibles, plus les ressources détenues par tous les P j, avec j < i. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 18 / 24

L algorithme des banquiers (1/2) Structures de données M : nombre de classes de ressources ; N : nombre de processus ; dispo j pour j {1,..., M} ; max i,j pour i {1,..., N}, j {1,..., M} ; alloc i,j pour i {1,..., N}, j {1,..., M}. Conditions d exécution Un processus P i peut s exécuter ssi j {1,..., M},(max i,j alloc i,j ) dispo j Un ordre d exécution P k1,..., P kn est dit sain ssi les processus peuvent s exécuter dans cet ordre les uns après les autres. Si,dans un système d allocation de ressources, il existe un ordre d exécution sain, alors il n y a pas d interblocages. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 19 / 24

L algorithme des banquiers (2/2) Algorithme d allocations Algorithme d allocation de R j à P i : 1 dispo j > 0? 2 les annonces sont-elles respectées? 3 si R j est allouée à P i, l état est-il sain? 4 si la réponse est négative, suspendre le processus P i. Critiques + Seule les requêtes laissant le système dans un état sain sont honorées ; - Présuppose le nombre de ressources invariant ; - Il faut connaître le nombre maximale de ressources que le processus aura besoin. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 20 / 24

Détection des interblocages (1/3) Principe Le système ne cherche pas à empêcher les interblocages ; À pour but de détecter les attentes circulaires ; Coût exploitation non négligeable. Différents types de vérification À chaque modification du graphe suite à une demande d une ressource ; Périodiquement ; Faible utilisation du processeur. Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 21 / 24

Détection des interblocages (2/3) Détection par graphe d allocation P7 P8 P7 P8 R6 R6 P9 Réduction par P9 P9 R7 R7 Réduction par P7 P7 P8 P7 P8 R6 R6 P9 Réduction par P8 P9 R7 R7 Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 22 / 24

Détection des interblocages (3/3) Détection par graphe d allocation R1 R2 R5 R1 R2 R5 P1 P2 P3 P4 P5 P1 P2 P3 P4 R4 R4 R3 R3 R1 R2 R5 R1 R2 P1 P2 P3 P1 P2 P3 R4 R3 R3 Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 23 / 24

Guérison des interblocages Comment guérir des interblocages Retirer temporairement une ressources à un processus ; Restaurer un état antérieur du système ; Supprimer un ou plusieurs processus. Problèmes Quel processus supprimer? ou retirer les ressources? Comment revenir à un état sain? Leonardo Brenner, Jean-Luc Massat (AMU) Systèmes d Exploitation 24 / 24