• Non ci sono risultati.

PRINCIPI DI SISTEMI OPERATIVI (A.A. 13-14) 15 Gennaio 2014

N/A
N/A
Protected

Academic year: 2021

Condividi "PRINCIPI DI SISTEMI OPERATIVI (A.A. 13-14) 15 Gennaio 2014"

Copied!
1
0
0

Testo completo

(1)

Nome: «Nome» Cognome: «Cognome» Compito: «Numero» Turno: «Turno»

PRINCIPI DI SISTEMI OPERATIVI (A.A. 13-14)

15 Gennaio 2014

IMPORTANTE:

1. Si considerano parte integrante delle soluzioni i COMMENTI significativi introdotti per facilitare la lettura del codice: come tali, essi influenzano la votazione finale. Tuttavia, i messaggi di debug (ad es. le println()) del programma NON SONO CONSIDERATI E QUINDI NON INFLUENZANO LA VOTAZIONE FINALE.

2. Il tempo a disposizione è di 90 minuti.

3. Il compito deve essere svolto solamente nel linguaggio Java, usando le classi del package monitor e lavorando con l’ambiente di sviluppo IBM Eclipse.

4. Seguire le seguenti regole per lo svolgimento dell’esame al laboratorio base:

• Fare il login in Linux con il proprio account (numero di tesserino e password di posta elettronica)

• Aprire un terminale e digitare

$ cd

$ cd Desktop

$ wget ftp://lica2.lab.unimo.it/syncexam.sh

$ chmod 755 ./syncexam.sh

$ ./syncexam.sh

• Aprire Elipse (comando “eclipse” sempre da shell)

• Utilizzare come workspace la cartella “studente_xxxxx”

• Creare un progetto Java con nome “ESAME150114_«Turno»_«Numero»” e scrivere le classi Java della soluzione nel package di default (senza nome) di tale progetto. Fare attenzione a scrivere correttamente il nome del progetto, con maiuscole e minuscole a posto!

• Installare le classi del monitor Java e gli eventuali template

• Finito il vostro esame (o allo scadere del tempo), dovete salvare tutto (si consiglia di salvare spesso per non perdere il proprio lavoro), chiudere Eclipse, fare il logout, lasciare il vostro PC e procedere alla consegna del testo.

In una banca è presente un’area riservata con cassette di sicurezza, e vi lavorano B bancari, addetti all’apertura delle cassette di sicurezza. Per motivi di sicurezza, nell’area riservata non possono essere presenti più di MAX clienti contemporaneamente (B<<MAX).

Nell’area riservata si recano clienti che desiderano accedere alla propria cassetta di sicurezza

*

Ogni cliente, per accedere alla propria cassetta di sicurezza, deve essere accompagnato da un bancario che apre la cassetta.

Una volta aperta la cassetta (in un tempo random), il bancario lascia il cliente libero di visionarne il contenuto (sempre in un tempo random). Quindi, il cliente lascia l’area riservata e torna a casa.

I clienti possono essere clienti normali o clienti VIP. I clienti VIP hanno priorità nell’essere accompagnati dai bancari alle proprie cassette di sicurezza.

Si implementi una soluzione usando il costrutto monitor per modellare la banca, i processi per modellare i clienti, e i bancari, e si implementino l’area riservata come risorsa. Nella soluzione si massimizzi l’utilizzo delle risorse. Si discuta se la soluzione proposta può presentare starvation e in caso positivo per quali processi, e si propongano modifiche e/o aggiunte per evitare la starvation.

                                                                                                               

*   Per   semplicità   non   ci   interessa   associare   i   clienti   a   una   specifica   cassetta   di   sicurezza.   Si   supponga   che   se   un   cliente  si  reca  in  banca,  sia  presente  una  sua  “generica”  cassetta  e  che  il  bancario  garantisca  l’apertura  della  sua   cassetta.  

Riferimenti

Documenti correlati

fino al figlio PN-1 che comunica con il padre; questo schema a pipeline deve essere ripetuto per ogni linea di ogni file e deve prevedere l’invio in avanti di un array di

Ogni processo nipote PPi, una volta ricevuto il carattere AM dal processo figlio Pi, deve calcolare a sua volta il numero di occorrenze Nocc (in termini di long int) di AM nel

Si implementi una soluzione usando il costrutto monitor per modellare il supermercato, i processi per modellare i clienti, e si modellino i distributori

Si implementi una soluzione usando il costrutto monitor per modellare la giostra, i processi per modellare i bambini, il giostraio e si modelli la cassa come risorsa. Nella

Nel Centro si recano U utenti (bambini o adulti) per un trattamento (doccia solare, massaggio, estetica laser). Una volta arrivati al centro, gli utenti che

• Creare un progetto Java con nome “ESAME090915-«Turno»-«Numero»” e scrivere le classi Java della soluzione nel package di default (senza nome) di tale progetto..

• Creare un progetto Java con nome “ESAME151214-«Turno»-«Numero»” e scrivere le classi Java della soluzione nel package di default (senza nome) di tale progetto.

Una volta terminato il convegno, la sala deve essere sistemata e per questo è necessario che il responsabile del convegno attenda un addetto che sistemi la sala e la