Appunti per Scuola e Universitą
humanisticheUmanistiche
Appunti e tesine di tutte le materie per gli studenti delle scuole medie riguardanti le materie umanistiche: dall'italiano alla storia riguardanti le materie umanistiche: dall'italiano alla storia 
sceintificheScientifiche
Appunti, analisi, compresione per le scuole medie suddivisi per materie scientifiche, per ognuna troverai appunti, dispense, esercitazioni, tesi e riassunti in download.
tecnicheTecniche
Gli appunti, le tesine e riassunti di tecnica amministrativa, ingegneria tecnico, costruzione. Tutti gli appunti di AppuntiMania.com gratis!
Appunti
informatica
CComputerDatabaseInternetJava
Linux unixReti


AppuntiMania.com » Informatica » Appunti di c » Problemi di cooperazione nel modello a scambio di messaggi

Problemi di cooperazione nel modello a scambio di messaggi




Visite: 1274Gradito:apreciate 5-stela [ Picolo appunti ]
Leggi anche appunti:

Contenuto del floppy disk


Contenuto del floppy disk Il floppy disk allegato costituisce una raccolta di

Gli interrupt: utilizzo


Gli interrupt: utilizzo Gli interrupt sono routine, normalmente operanti a livello

L'i/o e la gestione dei file


L'I/O e la gestione dei file Per Input/Output (I/O) si intende l'insieme delle
immagine di categoria

Scarica gratis Problemi di cooperazione nel modello a scambio di messaggi

Problemi di cooperazione nel modello a scambio di messaggi


VII) Scrivere una applicazione concorrente che implementi il problema Produttore/Consumatore utilizzando le primitive send e receive per la comunicazione mediante code di messaggi (Costruzione di un protocollo sincrono mediante le primitive di scambio di messaggi asincrone).


Descrizione: Il programma seguente risolve il problema dei Produttori/Consumatori implementando un protocollo sincrono di comunicazione che fa uso delle primitive (asincrone) messe a disposizione dal sistema. Occorre fare in modo che produttore e consumatore si sincronizzino opportunamente in modo da non perdere il messaggio da scambiare. A tal fine produttore e consumatore, prima dell'invio del messaggio effettivo, si scambiano dei messaggi di sincronizzazione secondo lo schema seguente


Produttore Consumatore

Invia messaggio di pronto ad inviare   In attesa di messaggio di pronto ad inviare

In attesa di messaggio di pronto a ricevere                           Invio messaggio di pronto a ricevere

Invio del messaggio effettivo                        In attesa del messaggio effettivo


Ovvero, in termini di Send Asincrona a Receive Bloccante

Produttore Consumatore

Send asincrona(coda, "pronto ad inviare")                            Receive bloccante(coda, pronto ad inviare)

Receive bloccante(coda, pronto a ricevere)                          Send asincrona(coda, "pronto a ricevere")

Send asincrona(coda, "messaggio")    Receive bloccante(coda, messaggio)


Nell'implementazione proposta viene utilizzata una sola coda differenziando nel contempo il tipo di messaggi.


 Programma VII.C


#include <sys/types.h> 

#include <stdio.h>         

#include <sys/ipc.h>

#include <sys/msg.h>

#include <sys/wait.h>


#define DIM_MSG 256                        //Cardinalitą del Messaggio

#define Ready_To_Send 0       //Tipi di Messaggio

#define Ready_To_Receive 1

#define Data_Message 2


typedef struct Messaggio;


void main()


//----- GENERAZIONE FIGLIO PRODUTTORE -----


pid=fork(); //Generazione del figlio Produttore

if (pid==-1) else if (!pid)


exit(0); //Il figlio Produttore termina correttamente

}


//----- GENERAZIONE FIGLIO CONSUMATORE -----


pid=fork(); //Generazione del figlio Consumatore

if (pid==-1) else if (!pid)


exit(0); //Il figlio Consumatore termina correttamente

}


//----- SINCRONIZZAZIONE DEL PADRE CON I FIGLI -----


for(i=0; i<2; i++)


//----- RILASCIO CODA DI MESSAGGI -----


msgctl(ID_Msg, IPC_RMID, 0);





Scarica gratis Problemi di cooperazione nel modello a scambio di messaggi
Appunti su:



Scarica 100% gratis e , tesine, riassunti



Registrati ora

Password dimenticata?
  • Appunti superiori
  • In questa sezione troverai sunti esame, dispense, appunti universitari, esercitazioni e tesi, suddivisi per le principali facoltą.
  • Universitą
  • Appunti, dispense, esercitazioni, riassunti direttamente dalla tua aula Universitaria
  • all'Informatica
  • Introduzione all'Informatica, Information and Comunication Tecnology, componenti del computer, software, hardware ...