7 – COMMUNICATION INTER PROCESSUS SEGMENTS DE MÉMOIRE PARTAGEE

Slides:



Advertisements
Présentations similaires
C.
Advertisements

FLSI602 Génie Informatique et Réseaux
FLSI602 Génie Informatique et Réseaux
Points importants de la semaine Les fonctions. La portée. La passage par copie. Les tableaux.
Segments de mémoire partagée
1 Le fichier séquentiel Suite finie déléments dun même type Exemples : – fichier des livres dune bibliothèque – enregistrements sur un magnétophone – ensemble.
Travailler avec des processus
Programmation Système et Réseau
Les types composés Les enregistrements.
Conception de Programmes - IUT de Paris - 1ère année – Cours 8 – Les entrées/sorties Comment fonctionnent les opérateurs > pour les types élémentaires.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – LES PROCESSUS SOUS UNIX.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – COMMUNICATION INTER PROCESSUS : TUBES.
Tableaux et Pointeurs Chaînes de Caractères Programmation Impérative II.
CINI – Li115 1 Semaine 10 Les pointeurs ● Notion d'adresse ● Déclaration et utilisation de pointeurs ● "Types pointeur" et initialisation des pointeurs.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
A quoi sert la programmation? - indispensable pour plusieurs métiers. - passion. But du cours: - suite du cours Prog. Imp. I - fichiers, pointeurs, modularité.
EDMODO Qu’est-ce qu’est EDMODO ?  Edmodo est une plateforme dont l’apparence ressemble beaucoup à celle de Facebook, mais qui est entièrement dédié à.
Semaine 8 Retour sur les tableaux : fonctions et récursivité
Cours de programmation en langage C (Norme ANSI)
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Pas de variable globale
Les notions de classe et d'objet
Algorithmiques Abdelbasset KABOU
Les commandes du système de fichiers
Pointeurs et langage C.
Communications via sockets
Détection des erreurs.
Qu'est-ce que POSIX? Une librairie en langage C
Folders Access Manager Capacte
Présentation du site
5 – PARALLELISME , ORDONNANCEMENT
AO (Architecture des ordinateurs)
STSWEB Structures : Divisions et groupes Supprimer une division
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Algorithmique Langage C
Accès aux fichiers en C.
Semaine 11 Les pointeurs (suite)
Les fonctions.
Principes de programmation (suite)
Format des fichiers TIFF
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Adressage IPv6 v1 CAI.
WEBAFFILIGUE - ASSOCIATION
Classification des archtecutres paralleles
Mini synthèse accès fichier en C
Windows 7 NTFS.
Communications via sockets
Formation Microsoft® Office SharePoint® Server 2007
Inter Process Communication
Cours N°9: Algorithmiques Les Tableaux 1
Les tableaux.
De l’ordinateur au processus : rôle d’un système
Module 1: Généralités sur les systèmes informatiques Chapitre 1: Définitions et notions de base.
Un compteur de visiteurs pour la page d’accueil de notre site
Cours N°10: Algorithmiques Tableaux - Matrices
Type Concret – Type Abstrait
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Gestion des photos Organisation du disque dur, Navigation
Cours 10 : Les Web Services et WSDL Février Version 1.0 -
Les structures de base Listes chainées. Listes Les listes(similaire aux tableaux) sont des structures informatiques qui permettent de garder en mémoire.
Semaine #11 INF130 par Frédérick Henri.
Principes de programmation (suite)
Tableaux Cours 06.
QCM Pointeurs 2 / Q1 On considère la déclaration suivante : char *ptc ; ptc peut contenir : 1) des valeurs de variables de type caractère 2) des adresses.
Le bus de terrain AS-i Bus AS-i (Actuator Sensor interface ) Fichiers
Listes Chaînées.
QCM 5 / Q1 Soit le pointeur de fichier défini par FILE *fp ; on veut ouvrir le fichier " C:/Mesdocuments/essai.txt " en mode écriture. Quelles sont les.
Lecture/Écriture de fichiers (I/O)
Présentation du site Martine Cochet.
COURS ADMINISTRATION DE BASES DE DONNÉES IMPORT/EXPORT Karim LABIDI ISET Ch
Transcription de la présentation:

7 – COMMUNICATION INTER PROCESSUS SEGMENTS DE MÉMOIRE PARTAGEE UNIX AVANCE 7 – COMMUNICATION INTER PROCESSUS SEGMENTS DE MÉMOIRE PARTAGEE Yves PAGNOTTE – Janvier 2011

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

SEGMENT DE MEMOIRE PARTAGEE - c’est le concept de variable globale à plusieurs processus : zone d’octets consécutifs en mémoire - identifié dans UNIX par un identificateur entier - tout processus qui connaît l’existence d ’un segment de mémoire partagée peut réaliser des opérations sur celle-ci - un segment de mémoire partagée : pas seulement accessible à la descendance du processus qui crée la file, mais à tout processus dans le cadre des droits d’accès

OPERATIONS SUR UN SEGMENT DE MEMOIRE - création d’un segment - opération de contrôle d’un segment : - parmi lesquelles la suppression du segment - attachement  d’un segment à un processus - détachement d’un segment d’un processus - lire et écrire dans un segment

LE FICHIER /usr/include/sys/shm.h contient des définitions : - constantes relatives aux droits - structures - shmid_ds qui correspond à peu près au type segment de mémoire - shminfo, contient des informations sur l’ensemble des segments définis dans le système

CREATION D’UN SEGMENT DE MEMOIRE la fonction shmget retourne l’identificateur entier du segment ou -1 en cas d’erreur : #include <stdio.h> #include <sys/types.h> #include <sys/shm.h> ..... Id = shmget (IPC_PRIVATE, nb_octets, IPC_CREAT | IPC_EXCL | 0666);

CONTROLE D’UN SEGMENT DE MÉMOIRE la fonction shmctl retourne 0 (- 1 en cas d’erreur) Exemple : shmctl (id, IPC_RMID, 0); supprime le segment d’identificateur id

ATTACHEMENT D’UN SEGMENT A UN PROCESSUS la fonction shmat retourne l’adresse de début du segment sous forme d’un void * Exemple d’un segment contenant des entiers, p contient l’adresse de début du segment int *p; p = (int*) shmat (id, NULL, 0); Le pointeur p permet ensuite de gérer tous les emplacements du segment comme un tableau pour les opérations classiques de lecture ou écriture dans le segment.

DETACHEMENT D ’UN SEGMENT D ’UN PROCESSUS la fonction shmdt retourne 0 (- 1 en cas d’échec) Exemple avec les notations précédentes : shmdt ((void *) p);