Prova di laboratorio Settembre 2010

Transcript

Prova di laboratorio Settembre 2010
Laboratorio di Sistemi Operativi: Prof.ssa A. Rescigno
Anno Acc. 2009-2010
Prova di laboratorio Settembre 2010
Università di Salerno
Nome e Cognome:
Matricola:
a)
/45
b)
/30
c)
/50
Segnare la situazione implementata
• Scenario:
La Choco-Nut produce cioccolata e vuole farsi conoscere. Ha cosıpensato di farsi pubblicitá offrendo
omaggi a chi acquista i suoi prodotti. Nella sede dello spaccio aziendale ha predisposto un computer
fornito di software client (Omaggio) e software server (Server). Sono stati previsti vari tipi di omaggio
in accordo sia al tipo di acquisto che alla quantitá di soldi spesi.
Se si acquista
• Fondente + Bianco (FB) ⇒ si riceve un cappello
• Latte + Nocciolato (LN) ⇒ si riceve una sciarpa
• Gianduia + Croccante (GC) ⇒ si riceve un paio di guanti
Inoltre, se alla fine della giornata ci sono stati acquisti per un totale di almeno
• 1000 euro per Fondente + Bianco ⇒ tutti coloro che hanno fatto tale tipo di acquisto vinceranno
una fornitura di Latte + Nocciolato
• 1000 euro per Latte + Nocciolato ⇒ tutti coloro che hanno fatto tale tipo di acquisto vinceranno
una fornitura di Gianduia + Croccante
• 1000 euro per Gianduia + Croccante ⇒ tutti coloro che hanno fatto tale tipo di acquisto
vinceranno una fornitura di Fondente + Bianco
Il cliente Rescigno che ha acquistato, per esempio Fondente + Bianco ed ha speso 20 euro scriverá
Omaggio Rescigno FB 20
ed aspetterá l’esito.
• Codice:
Scrivere in linguaggio C il codice per il processo server S (Server) e per il generico processo client C
(Omaggio).
Scegliere di implementare una delle situazioni seguenti:
a) (45 punti) Implementare il precedente scenario ipotizzando che: la comunicazione da client a
server avvenga attraverso una FIFO e la comunicazione da server a client avvenga attraverso una
coda di messaggi. Ciascun client aspetterá per sapere: 1) quale omaggio é previsto per lui e, 2) se
ha diritto ad una ulteriore fornitura.
b) (30 punti) Implementare il precedente scenario ipotizzando che: la comunicazione da client
a server avvenga attraverso la memoria condivisa il cui accesso sia regolato da un semaforo. Alla
scadenza il server deve comunicare sullo standard output: 1) quanti client hanno ricevuto il cappello,
quanti hanno ricevuto la sciarpa e quanti hanno ricevuto i guanti come omaggio; 2) quali gruppi di
clienti hanno diritto alla fornitura ulteriore.
c) (50 punti) Implementare il precedente scenario ipotizzando che: la comunicazione da client
a server avvenga attraverso la memoria condivisa il cui accesso sia regolato da un semaforo e la
comunicazione da server a client avvenga attraverso una coda di messaggi. Ciascun client aspetterá
per sapere: 1) quale omaggio é previsto per lui e, 2) se ha diritto ad una ulteriore fornitura.