Places Send File Receive Messages.

Slides:



Advertisements
Présentations similaires
Module Systèmes dexploitation Chapitre 6 Communication Interprocessus Partie III École Normale Supérieure Tétouan Département Informatique
Advertisements

FLSI602 Génie Informatique et Réseaux
B.Shishedjiev - Informatique II1 Travaux dirigés 5 Les structures.
Parallel Programming in C with MPI and OpenMP
II. Chaînage, SDD séquentielles
8PRO100 Éléments de programmation Allocation dynamique de la mémoire.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Cours de CPI Philippe Bancquart CPI 2005.
Etude de cas : buffer clavier
IFT-2000: Structures de données
Points importants de la semaine Les allocations programmées de mémoire. Les enregistrements.
Synchronisation Classique
Exemple de gestion d'un buffer clavier en liste circulaire
1 Exemples Construction et implantation de types de données abstraits.
LES PILES ET FILES.
La notion de type revisitée en POO
Interactions entre Processus
Commande d’actionneurs à l’aide d’un microprocesseur
Exercices sur les pointeurs. lireCar/remettreCar Lorsque l’on lit caractère par caractère, on ne peut pas savoir qu’on a atteint un caractère avant de.
Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, …  Etude de cas : réalisation d’un buffer clavier.
Windows NT/2000/XP Enjeux et contraintes techniques Troisième partie La GDI C. Casteyde Document diffusé sous licence GNU FDL.
Stéphane Frénot, Frédéric Laforest, Frédéric Le Mouël IJA 1 IJA – TD 8 Les threads en Java.
Messagerie Open Source à la DGCP Implémentation réalisée par IBM et Pilot Systems Sylvain Viollon.
Tableaux et Pointeurs Chaînes de Caractères Programmation Impérative II.
Mécanismes de communication et de synchronisation.
Fonctionnement interne d'un routeur (kurose p ) Eugen Dedu IUT Belfort-Montbéliard, R&T1, France avril 2009.
Chap. 71 Chapitre 7 continuation n Problèmes classiques de synchronisation n Lecteurs - Écrivains n Les philosophes mangeant n Moniteurs n Threads en Java.
La mission Pathfinder sur Mars
1 Réseaux Communication socket sous Windows. 2 Communication socket sous Windows Communication entre 2 applications sur 2 machines distantes Adresse IP.
Quel point commun ont ces appareils ? Ils fonctionnent grâce à des piles ou des accumulateurs (piles rechargeables).
Mécanismes de communication et de synchronisation.
1 Communication interprocessus. 2 Plan 1. Introduction 2. Sections critiques et exclusion mutuelle 3. Exclusion mutuelle par attente active 1. Le masquage.
Eléments d’Informatique Cours11 – Allocation dynamique, listes chaînées Catherine Recanati.
Pointeurs et langage C.
Communications via sockets
Qu'est-ce que POSIX? Une librairie en langage C
Xenomai RTDM.
7 – COMMUNICATION INTER PROCESSUS SEGMENTS DE MÉMOIRE PARTAGEE
I21 Algorithmique et programmation II
L'approche asynchrone.
Module 12 : Configuration et gestion des disques
Mini synthèse accès fichier en C
Communications via sockets
boite de messagerie Bwetamel
La synthèse de documents
Inter Process Communication
Piles.
SYSTÈME D’EXPLOITATION I
"Ma chère, je t’avais dit de mettre les Kleenex dans ton soutien-gorge, mais je ne pensais pas à la boite !!! "  
Juste pour rire.
Voilà ce qui arrive lorsque l'on se trompe d'adresse ...
Certificat en Informatique et Internet D5. Travailler en réseau, communiquer et collaborer Equipe C2I - FSEGS Semestre 2 – Avril 2015 Université de Sfax.
Les structures en langage C
Plus qu'une simple photo.
Garçon - Fille.
LLAGONNE Vincent DOUSSET Andréa FERNANDEZ Quentin Projet Quentin.
Module 12 : Configuration et gestion des disques
____ dizaines et ____ unités
Chapitre 7 continuation
les états d'un processus (ou d'une tache)
Activité : le mot en double Matériel nécessaire :
Vide.
Les structures de base Listes chainées. Listes Les listes(similaire aux tableaux) sont des structures informatiques qui permettent de garder en mémoire.
BUFFER CIRCULAIRE Meryem EL BAKRI. PLAN Introduction Buffer circulaire Fonctionnement.
Int 10. Int 6.
Principes de programmation (suite)
Piles et files.
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.
"Ma chère, je t’avais dit de mettre les Kleenex dans ton soutien-gorge, mais je ne pensais pas à la boite !!! "  
____ dizaines et ____ unités
Configuration post installation
Transcription de la présentation:

Places Send File Receive Messages

Implantation à l’aide de sémaphores Gestion des communications Boîte à lettres, synchrone, file de taille bornée, avec blocage Implantation à l’aide de sémaphores Structure de données typedef char t_msg[MAX_MSG] typedef struct { t_sema s_messages init 0; /* Sémaphore pour accès aux messages */ t_sema s_places init N_PLACES; /* Sémaphore pour accès place libre */ t_msg tampon[N_PLACES]; /* Tampon pour message en attente */ t_sema s_tampon init 1; /* Mutex sur tampon */ int i_msg init 0; /* Message à lire */ int i_place init 0; /* Place à remplir */ } t_port;

Gestion des communications Boîte à lettres, synchrone, file de taille bornée, avec blocage void receive (t_msg *msg, t_port *port) { /* On attend qu’un message soit la */ P(port->s_messages); /* Recopie message */ P(port->s_tampon); recopier(port->tampon[port->i_msg],msg); port->i_msg = (port->i_msg+1) modulo N_PLACES; V(port->s_tampon); /* On signale la libération d’une place vide*/ V(port->s_places); } void send (t_msg msg, t_port *port) { /* On attend qu’une place se libère */ P(port->s_places); /* Recopie message */ P(port->s_tampon); recopier(&msg,port->tampon[port->i_places]; port->i_places = (port->i_places+1) modulo N_PLACES; V(port->s_tampon); /* On signale son arrivée */ V(port->s_messages); } Cas problématique : Tâche moins prioritaire interrompue par une tâche plus prioritaire Lorsque le premier mutex (s_tampon) est consommé mais pas le second (s_places)  Dessiner le contenu de la FIFO