• Non ci sono risultati.

PRINCIPI DI SISTEMI OPERATIVI (A.A. 14-15) 19 Gennaio 2015

N/A
N/A
Protected

Academic year: 2021

Condividi "PRINCIPI DI SISTEMI OPERATIVI (A.A. 14-15) 19 Gennaio 2015"

Copied!
1
0
0

Testo completo

(1)

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

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

19 Gennaio 2015

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://lica02.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 “ESAME190115-«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.

Un hotel è composto da N piani ognuno formato da M stanze (con M<12). Ogni stanza può ospitare solo una persona. All’hotel arrivano clienti singoli o a gruppi che vogliono pernottare. Un gruppo è formato da un numero C di clienti con 1<C<=6 che deve obbligatoriamente occupare stanze nello stesso piano. I clienti, sia singoli che gruppi, possono essere clienti Business o Economy.

Al momento dell’arrivo, i clienti devono verificare che ci siano stanze libere per soggiornare (per semplicità è necessario solo avere l’informazione del piano in cui si trovano le stanze). Nella prenotazione delle stanze, i gruppi hanno la precedenza sui singoli. Ottenute le stanze, i clienti devono accedervi tramite l’unico ascensore che (per semplicità) può ospitare o un singolo cliente o un singolo gruppo di clienti per volta. Per l’accesso all’ascensore i clienti Business hanno la precedenza rispetto ai clienti Economy (sia che siano gruppi sia che siano singoli). Saliti sull’ascensore, in un tempo random arrivano al piano e soggiornano nelle loro stanze per un tempo random deciso dai clienti stessi. Una volta finito il soggiorno lasciano le stanze ed escono dall’hotel utilizzando le scale.

Si implementi una soluzione usando il costrutto monitor per modellare l’hotel, i processi per modellare i

clienti e si modellino le stanze e l’ascensore come risorse. 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.

Riferimenti

Documenti correlati

Talvolta, però (si realizzi un meccanismo che selezioni in modo       random), un cittadino che si presenta in un ufficio non può tornare direttamente a casa, ma viene      

Si implementi una soluzione modellando il centro medico come risorsa e i pazienti, il medico di       base e lo specialista come Thread, assicurandosi che la gestione delle code

Nella soluzione si massimizzi l’utilizzo

I viaggiatori in gruppo hanno priorità rispetto ai viaggiatori singoli.. Nella soluzione si massimizzi l’utilizzo

Nell’area riservata si recano clienti che desiderano accedere alla propria cassetta di sicurezza * Ogni cliente, per accedere alla propria cassetta di sicurezza, deve

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.