1 UNIX AVANCE Yves PAGNOTTE – Janvier 2011 4 – PROCESSUS ET RESSOURCES.

Slides:



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

Synchronisation de Processus
Structures de données et complexité
1 Bases de donn é es relationnelles. 2 Introduction au mod è le relationnel les donn é es sont repr é sent é es par des tables, sans pr é juger de la.
Module Systèmes d’exploitation
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 dexploitation Communication Interprocessus (CIP) II (Tanenbaum 2.3)
Synchronisation des Processus
Chapitre 3 Coopération et synchronisation par variables partagées
Exécutif Temps réel. Limitation des système classiques Rappels Mise en œuvre lourde des communications entre processus Problème de prédictibilité avec.
Mémoire & Processus Cours SE - SRC
Rappel sur la synchronisation des processus
Synchronisation et communication entre processus
ALGORITHMIQUE en classe de seconde
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Cours de CPI Philippe Bancquart CPI 2005.
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.
Simulateur interactif de QOS dans un routeur
Chapitre 6 : Synchronisation des processus et des fils
Synchronisation Classique
SYSTÈME D’EXPLOITATION I
Gestion de processus Corrigé TD 1 EFREI I
Travailler avec des processus
Interactions entre Processus
Arbres binaires et tables de hachage
Programmation Système et Réseau
CPI/BTS 2 Algorithmique & Programmation La récursivité Algo – Prog CPI/BTS2 – M. Dravet – 14/09/2003 Dernière modification: 14/09/2003.
Systèmes d’exploitation Processus conclusion Modèle conceptuel de processus Pour masquer les effets des interruptions, les SE fournissent un modèle conceptuel.
Constitution d'un système de preuve de propriété d'un logiciel/progiciel et Valorisation d'un patrimoine IT AGORANOV 20 octobre 2015 Henri de Hauteclocque.
L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la.
Rémi BRISSIAUD MC de Psychologie — Université de Cergy-Pontoise — IUFM de Versailles Équipe “ Compréhension, Raisonnement et Acquisition de Connaissances.
RÉNOVATION BTS Comptabilité et Gestion 2015 Atelier situations professionnelles & PGI Cas Jupiter Média Chantal Bricard Jean-Marie Duplan.
Mediator 9 - Un outil de développement multimédia 3AC Techno/Informatique.
Développement d’application avec base de données Semaine 3 : Modifications avec Entité Framework Automne 2015.
Étapes pour la Programmation du 68HC11 I. Écriture du programme dans un fichier *.a11 II. Le programme est compilé (traduit en langage machine) III. Le.
UNIX AVANCE Yves PAGNOTTE – Janvier – QUELQUES RAPPELS SUR LES SYSTEMES D’EXPLOITATION 1.
1 Les bases de données Séance 7 Les fonctions avancées : Opérateurs ensemblistes, Sous-requêtes et transactions.
Introduction à la programmation
1 Applications du SEEE : fonctionnalités, calendrier, modalités de déploiement et d’accompagnement Présentation des applications L’outil de simulation.
Chapitre 4 Gestion des disques Module S41. Plan du cours 1. Utilisation de l'outil Gestion des disques 2. Utilisation des disques de base 3. Utilisation.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 1 Support de cours rédigé par Bernard COFFIN Université.
Séminaire BTS Technico-Commercial. ENC Bessières Mercredi 14 mars 2012.
Vanotti Lucile Adjointe au chef de section « Ingénierie des prix de production » 17/06/2014 Mesurer des indices de prix à la production dans l’industrie.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 6 Support de cours rédigé par Bernard COFFIN Université.
1 Les logiciels en général sont classés en deux familles:  Logiciels de base  Logiciels d’applications (applications) 2.
Initiation aux bases de données et à la programmation événementielle Outil de création des tables Support de TD rédigé par Bernard COFFIN Université Paris.
Les méthodes de tests Les grands principes pour réaliser des tests efficaces.
Réflexion sur un exemple possible de projet proposé en I.S.N.
Un outil spécifique à Moodle pour le calcul des indicateurs d’interaction Présenté par : Tarek DJOUAD Laboratoire LIRIS, Lyon1 Équipe SILEX
Introduction à la Programmation Orientée Objet H.GATI.
Présentation Octobre ©ieepi L’IEEPI a été retenu par le secrétariat d'Etat à l'économie numérique pour créer un Serious Game de formation à la propriété.
Gouvernance et mise en œuvre de la législation du marché unique Alvydas Stančikas, Chef de l’unité "Application du droit du marché unique et relations.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – LES PROCESSUS SOUS UNIX.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – RAPPELS SUR UNIX DE BASE.
Zitouni amani et imen Ben Belgacem 1 Projet de fin d’année sur le contrôle d’accès par la technologie RFID Zitouni Amani Ben Belgacem Imen Encadrer par.
Eric Fede - 1 GESTION DES PRIORITES SUR LA GRILLE.
Éric GUIRAUT1 Professeur d’Economie gestion Lycée Condorcet – Saint Priest – Académie de LYON Formateur TICE – Espé Lyon – Université LYON 1.
Modes de Marches et d’Arrêts
CSI 3531 Systèmes d’exploitation Nathalie Japkowicz 1.
On the analysis of CMMN expressiveness: revisiting workflow patterns Renata Carvalho Hafedh Mili.
Informatique 1A Langage C 6 ème séance 1. Objectifs de la séance 6  Allocation dynamique de mémoire  Application à la création de tableaux 2.
Cours de Langage C Les structures
Caroline Tremblay Baker. Brève histoire du disque dur Qu’est-ce qu’un disque dur et à quoi cela sert-il ? Qu’elles sont les différentes parties du disque.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – COMMUNICATION INTER PROCESSUS : TUBES.
RÉNOVATION BTS Comptabilité et Gestion 2015 CB2C & PGI Christine Forest Stéphane Bessière Daniel Perrin Toinin.
AUTOMATISME Chapitre 2: Le GRAFCET.
Un projet pour tous, un engagement pour chacun Cette épreuve de « compte est bon » permet à tous les élèves, quel que soit leur compétence, de participer.
5 – MOBILISER LES ACTEURS Une culture partagée avec l’équipe de circo (tandem CPC et FUN) Dans toutes les formations et animations pédagogiques Fédérer.
Améliorer ses résultats avec le Benchmarking
Exercice : le jeu. Vous devez concevoir l’algorithme permettant de jouer avec votre calculatrice : elle détermine au hasard un nombre caché entier entre.
Transcription de la présentation:

1 UNIX AVANCE Yves PAGNOTTE – Janvier – PROCESSUS ET RESSOURCES

2 RESSOURCES mémoire processeur fichiers périphériques données procédures pour l ’exécution d ’un processus

3 RESSOURCES locale : utilisable par un seul processus partageable ou commune : utilisable par plusieurs processus une ressource partageable qui ne peut être accédée que par un seul processus à la fois est dite critique (exemple : une zone mémoire partagée en écriture)

4 GESTION DE RESSOURCES à toute ressource on associe : - un indicateur (ressource libre ou allouée au processus de pid…) - un pointeur sur une file d’attente des processus candidats à l’utilisation de cette ressource la gestion de la file d’attente prend en compte la priorité des processus candidats  manque de ressource = processus dans l’état endormi

5 GESTION DE RESSOURCE CRITIQUE une ressource critique doit être gérée avec une méthode d’exclusion mutuelle section critique d ’un programme pour une ressource = partie du code où cette ressource est gérée en exclusion mutuelle 2 processus ne doivent jamais entrer simultanément en section critique pour une même ressource ne jamais faire d’hypothèse sur la vitesse relative des processus pour gérer les ressources critiques

6 EXCLUSION MUTUELLE cahier des charges d’une méthode : la défaillance d ’un processus (achèvement ou "plantage") ne doit pas affecter le bon fonctionnement des autres pas d’interblocage pas de privation de ressource

7 EXCLUSION MUTUELLE 2 familles de méthodes : algorithmes par attente active on exécute du code en consommant du temps UC algorithmes par attente passive on n’exécute pas de code

8 ALGORITHMES PAR ATTENTE ACTIVE un exemple : la méthode des coroutines pour deux processus une variable tour initialisée à 1 ("c’est au tour de P1") deux processus P1 et P2 lancés en parallèle les processus sont modélisés par une alternance de sections critiques et de sections non critiques P1 ( ) faire toujours tant que tour = 2 fin tant que section critique tour    2 section non critique fin faire

9 CRITIQUE DE LA MÉTHODE DES COROUTINES la défaillance d’un processus bloque tous les autres (tour ne peut plus changer de valeur) Il y a eu de nombreuses tentatives d’amélioration dont la meilleure est l’algorithme de Dekker : - complexe pour 2 processus - non généralisable à plus de 2 processus conclusion : échec des algorithmes à attente active

10 L’OUTIL SÉMAPHORE (1) imaginé par Dijkstra en 1968 un sémaphore est un objet à deux champs : - un entier naturel - une file d’attente de processus à l’état endormi

11 L’OUTIL SÉMAPHORE (2) … avec 4 fonctions : - créer / initialiser un sémaphore - détruire un sémaphore - P : décrémente le champ entier s ’il est > 0 sinon endort le processus - V : incrémente le champ entier si la file d ’attente est vide, sinon réveille un processus P et V : non interruptibles et s’excluent mutuellement

12 APPLICATIONS DES SÉMAPHORES Gestion de l’exclusion mutuelle - créer un sémaphore s par ressource critique - initialisé à 1 - encadrer chaque section critique par : P (s) ….. V(s)

APPLICATIONS DES SÉMAPHORES Synchronisation de processus un sémaphore s par rendez-vous, initialisé à 0 Exemple : 3 processus P1, P2, P3 chargés du calcul de (a+ b) * (c + d) - (e/f) P2 calcule c + d, P3 calcule e/f et P1 le résultat. On initialise les sémaphores s1 et s2 à 0. P1 P2 P3 _________________________________________ t1 = a + b t2 = c + d t3 = e/f P (s1) V (s1) V(s2) t4 = t1 * t2 ∆ P (s2) res = t4 - t3 P1 ne peut se poursuivre au-delà de tant que P2 n'a pas exécuté V P1 ne peut se poursuivre au-delà de ∆ tant que P3 n'a pas exécuté V 13

14 APPLICATIONS DES SÉMAPHORES Modèle producteur-consommateur (1) règle 0 : le producteur produit des objets de taille fixe producteur et consommateur fonctionnent en parallèle à des vitesses quelconques règle 1 : le producteur ne peut pas ranger un objet si le tampon est plein

15 APPLICATIONS DES SÉMAPHORES Modèle producteur-consommateur (2) règle 2 : le consommateur ne peut pas prendre un objet si le tampon est vide règle 3 : le consommateur ne peut prélever un objet que le producteur est en train de ranger (exclusion mutuelle) règle 4 : information des processus sur les changements de situation

16 APPLICATIONS DES SÉMAPHORES Modèle producteur-consommateur (3) 2 sémaphores NPLEIN initialisé à 0 NVIDE initialisé à la taille du tampon ProducteurConsommateurFaire toujours produire un objet P (NPLEIN) P(NVIDE) prélever un objet déposer un objet V (NVIDE) V(NPLEIN) "consommer" l ’objetFin