1 UNIX AVANCE Yves PAGNOTTE – Janvier 2011 6 – COMMUNICATION INTER PROCESSUS : TUBES.

Slides:



Advertisements
Présentations similaires
Programmation réseau Les sockets de Berkeley
Advertisements

Synchronisation des processus père - fils
Conception et programmation Programmation Parallèle
Introduction aux Systèmes d’Exploitation
Gestion de FICHIERS.
13 – 16 Décembre 2005 Laurence Viry Introduction à MPI MPI_2.

Suite à de nombreuses remarques concernant le projet de structures de données 'Gestion d'un Aéroport' , voici un polycopié de cours concernant la gestion.
FLSI602 Génie Informatique et Réseaux
Systèmes d'exploitations Les redirections d'entrées/sorties GRARI Mounir ESTO Année 2011.
Syst è mes d information Mod é lisation des syst è mes d'information Annexe sur la cardinalit é
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
Synchronisation et communication entre processus
TP Fichiers et Tableaux Avril Un fichier Permet le stockage de données sur des supports de mémoire externes (donc les données ne seront pas perdues.
Système d’exploitation
PROGRAMMATION SCIENTIFIQUE EN C PRO Généralités u Présentation du plan de cours –Disponibilité –Références u Environnement de travail –Langage C.
Segments de mémoire partagée
Course Critique Race Condition
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Cours de CPI Philippe Bancquart CPI 2005.
Les fichiers binaires en C++
IFT Structures de données
SEANCE 10 Python Entrée et sortie de fichiers Lycée Louis Vincent Lundi 20 janvier
Operations de Base en C++ sur les Fichiers
SYSTÈME D’EXPLOITATION I
ÉLÉMENTS DE BASE UNIX.
Signaux – Tubes La gestion des signaux La communication par tube
Sécurité Informatique Module 05
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 6. Gestion des erreurs et des exceptions : Fonctionnement.
Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre.
Structures de données IFT-2000 Abder Alikacem Semaine 11, 1 ère partie Les B-arbres Département dinformatique et de génie logiciel Édition septembre 2009.
02/11/06Programmation multitâche sous UnixIsaip-Esaip1 Groupe Isaip-Esaip P. Trégouët – A. Schaal remerciements à M. Benzaïd pour sa contribution à la.
Les processus, à quoi ça sert ?
SPIP SPIP est le système de publication développé par le minirézo.
Travailler avec des processus
SYSTÈME D’EXPLOITATION I
SYSTÈME D’EXPLOITATION I
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
Mobile Devices Ingenierie
Projet télésurveillance
SYSTÈME D’EXPLOITATION I
Les sockets.
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java
Elaboré par Ahmed BESSAIDI
Architecture Client/Serveur
Systèmes d’exploitation Processus conclusion Modèle conceptuel de processus Pour masquer les effets des interruptions, les SE fournissent un modèle conceptuel.
Algorithmique et langage C
Client/Server Socket. Client/Serveur.
Espace collaboratif du CODEV Blog, WIKI, Forum: c’est quoi?  Blog - Publication périodique et régulière d’articles La vocation d’un Blog est d'être un.
Le schéma fonctionnel d’un ordinateur
É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.
Programmation CM1 6 étapes clés pour construire les nombres décimaux. Présentationfractions décimales Présentation des fractions décimales: situations.
G. Botti Service de l ’Information Médicale Pr M. Fieschi Hôpital Timone-adultesMarseille le 13 novembre 2000 Problématique du codage Langage, communication,
DESCRIPTEURS NIVEAU A1 du Cadre européen commun de référence pour les langues.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – LES PROCESSUS SOUS UNIX.
Les bases de données CINAHL
1 UNIX AVANCE Yves PAGNOTTE – Janvier – RAPPELS SUR UNIX DE BASE.
Informatique 2A Langage C 3 ème séance.
Cours de Langage C Les structures
© Logica All rights reserved Veille secteur bancaire – Mars 2012 Emetteur Samuel Le Péchoux BSS, Pôle Conseil WST ProduitPour le paiement mobile,
Informatique 2A Langage C 4ème séance
1 UNIX AVANCE Yves PAGNOTTE – Janvier – PROCESSUS ET RESSOURCES.
Esame de Stato. La dissertation La compréhension et la production.
Cours 08 SYSTÈME DE FICHIERS
7 – COMMUNICATION INTER PROCESSUS SEGMENTS DE MÉMOIRE PARTAGEE
Accès aux fichiers en C.
Les Instructions – Organigramme
Gestion des entrées/sorties: organisation d'un disque dur
Int 10. Int 6.
Transcription de la présentation:

1 UNIX AVANCE Yves PAGNOTTE – Janvier – COMMUNICATION INTER PROCESSUS : TUBES

2 OUTILS DE COMMUNICATION INTER PROCESSUS (IPC) sémaphores  tubes files de messages segments de mémoire partagée

3 TUBES - opérateur | du shell - file d’octets de capacité fixe - un tube possède un i-node, donc un descripteur de fichier - mais un tube n’est pas un fichier ! - donc sans lien avec un répertoire Les tubes permettent de communiquer entre processus de même propriétaire

CREATION D’UN TUBE SOUS UNIX int pipe (int *) /* retourne 0 ou -1 si échec */ exemple :int p [2], r; r = pipe (p); if (r == -1) exit (1); /* p [0] : descripteur d’accès en lecture p [1] : descripteur d’accès en écriture */ 4 P [1]P [0]

5 FERMETURE D’UN TUBE Avec l’exemple précédent : - fermeture d‘ un descripteur close (p [0]) ou close (p [1]) - mais sans possibilité de réouverture

6 LECTURE DANS UN TUBE lire = prélever une information dans la file on ne peut pas relire plusieurs fois la même information avec l’exemple précédent : int x, p [2]; char y; …. pipe (p); …. read (p [0], 1, &y); read (p [0], sizeof (int), &x); P [1]

7 ECRITURE DANS UN TUBE écrire = ranger une information dans la file Avec l’exemple précédent : int x = 4, p [2]; char y = ‘ a ’; …. pipe (p); …. write (p [1], 1, &y); write (p [1], sizeof (int), &x);

8 GESTION D’UN TUBE (1) selon le modèle producteur-consommateur - un processus qui tente d ’écrire dans un tube plein est endormi jusqu’à la fin de cette situation - un processus qui tente de lire dans un tube insuffisamment rempli est endormi jusqu’à la fin de cette situation

9 GESTION D’UN TUBE (2) - un processus qui tente d’écrire dans un tube sans descripteur de lecture ouvert reçoit le signal SIGPIPE (met fin au processus par défaut) - un processus qui tente de lire dans un tube sans descripteur d’écriture ouvert ne lira que ce qui est disponible (read retourne le nombre d’octets lus)

10 TUBE ET HERITAGE Un tube possède des descripteurs  un processus fils hérite des descripteurs des tubes ouverts par son père  un tube permet donc une communication père - fils

11 Exemple int r, p [2]; pipe (p); r = fork (); if (r ==0) close (p [0]); else close (p [1]); Fils p[1] Père p[0]