Un dispositivo di rete D e’ costituito da 4 porte, ciascuna utilizzabile sia per ricevere che per trasmettere messaggi del tipo:
Struct messaggio
{
int
destinazione;
char *dati;
int
selezione ;
}
dove destinazione indica la porta di uscita su cui deve essere inoltrato il messaggio e dati e’ una stringa di testo contenente le informazioni del messaggio.
Il dispositivo D deve monitorare in continuazione le sue porte per smistare correttamente i messaggi in ingresso.
Sono presenti altri due processi.
Il processo A si occupa di osservare in continuazione le porte 1 e 3 da cui estrae i messaggi in uscita e li inserisce all’interno di una struttura a pila.
Il processo B osserva in continuazione le porte 2 e 4 e, in base al campo selezione, provvede ad inserire i messaggi in uscita in maniera ordinata all’interno di una lista doppiamente concatenata.
Definire la struttura dati e codificare il programma in linguaggio C.