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.