• Non ci sono risultati.

Nome e cognome

N/A
N/A
Protected

Academic year: 2021

Condividi "Nome e cognome"

Copied!
1
0
0

Testo completo

(1)

Nome e cognome _____________________________________ N. di matricola (10 cifre num.) ___________________________

UNIVERSITA' DEGLI STUDI DI BOLOGNA - CORSO DI LAUREA IN INFORMATICA CORSO DI SISTEMI OPERATIVI - ANNO ACCADEMICO 2002/2003

CONCORRENZA – 8 settembre 2003 Esercizio -1: essersi iscritti correttamente per svolgere questa prova.

Esercizio 0: Scrivere correttamente nome, cognome e n. di matricola prima di svolgere ogni altro esercizio seguente.

Esercizio 1: Distributore di benzina

Un distributore di benzina self-service ha n pompe e k colonnine per il pagamento. Ovviamente, ogni colonnina ed ogni pompa può servire un solo cliente alla volta. Si paga anticipatamente. Ogni colonnina può essere utilizzata per pagare in qualunque pompa. Ogni pompa è in grado di servire sia gasolio che benzina. La vita di un cliente che arriva con la propria auto, delle colonnine e delle pompe sono le seguenti:

Cliente: Colonnina j: Pompa i:

distributore.raggiungiPompa(i); while (true) while (true)

distributore.raggiungiColonnina(j); distributore.C_attendiCliente(j) distributore.P_attendiCliente(i) // paga e seleziona pompa i // Effettua operazione di pagamento // Servi benzina

distributore.lasciaColonnina(j) distributore.C_salutaCliente(j) distributore.P_salutaCliente(i) // usa la pompa per fare benzina

distributore.lasciaPompa(i)

Ovvero, il cliente arriva e si mette in coda presso una pompa a sua scelta. Quando raggiunge la pompa (dopo la coda), esce dall'auto e si dirige verso una colonnina a sua scelta. Quando raggiunge la colonnina, paga, seleziona la pompa scelta e torna alla pompa, dove fa benzina. A quel punto se ne va soddisfatto.

a) Scrivere il monitor distributore

b) Il problema così proposto può generare starvation? Spiegare, eventualmente proponendo soluzioni.

c) Il problema così proposto può generare deadlock? Spiegare, eventualmente proponendo soluzioni.

d) Come modifichereste i processi clienti e il monitor distributore per fare in modo che i cliente scelgano la pompa e la colonnina con meno coda? Mostrare le differenze.

Esercizio 2: Uso del costrutto CCR

Scrivere un programma che utilizza il costrutto CCR e genera un deadlock.

Esercizio 3: Semafori

Una linea ferroviaria a due binari incrocia una strada a due corsie. Ovviamente, sia la sede stradale che quella ferroviaria sono a due corsie. Il passaggio livello, però, è molto stretto, quindi il passaggio per le auto è a senso unico alternato. Per passare, i treni chiamano void trenoEntra(int direzione); una volta passati chiamano void trenoEsci(int direzione); le auto chiamano invece void autoEntra(int direzione) e void autoEsci(int direzione). Scrivere le funzioni suddette utilizzando semafori.

Riferimenti

Documenti correlati

136 (Piano straordinario contro le mafie, nonché delega al Governo in materia di normativa antimafia), se questi sono noti al momento della stipula del contratto,

Tipo di liquido pompato: acqua pulita o leggermente sporca con corpi solidi in sospensione, fibre lunghe; acqua particolarmente aggressiva con alte percentuali di cloro/bromo e

Mancato raggiungimento del livello minimo del liquido di convogliamento Danno al gruppo pompa a causa della cavitazione e del funzionamento a secco del cuscinetto a scorrimento. ▷

Il materiale di allacciamento per una messa a terra necessaria può essere ordinato con un kit di montaggio tramite l'assistenza tecnica Miele oppure deve essere disposto

Il materiale di allacciamento per una messa a terra necessaria può essere ordinato con un kit di montaggio tramite l'assistenza tecnica Miele oppure deve essere disposto

• Il mancato rispetto di questa precauzione può causare scosse elettriche, incendi, esplosioni, malfunzionamenti o lesioni.. Inserire la spina del cavo di alimentazione in una

Montare il copritestata (1) sulla carcassa della pompa (15), quindi serrare manualmente a croce le viti di fissaggio (2). Smaltire la membrana e le valvole/gli o-ring sostituiti in

Annual Energy Consumption (AE_C) (Il consumo energetico si basa su 160 cicli di lavaggio con un programma standard per cotone a pieno o parziale carico, ed il consumo delle modalità