• Non ci sono risultati.

Nome e Cognome Numero di Matricola

N/A
N/A
Protected

Academic year: 2021

Condividi "Nome e Cognome Numero di Matricola"

Copied!
2
0
0

Testo completo

(1)

Nome e Cognome Numero di Matricola(10 cifre numeriche)

UNIVERSIT `A DEGLI STUDI DI BOLOGNA – CORSO DI LAUREA IN INFORMATICA CORSI DI SISTEMI OPERATIVI A-L e M-Z. PROGRAMMAZIONE CONCORRENTE

SESSIONE AUTUNNALE – ANNO ACCADEMICO 2001/2002 24 SETTEMBRE 2002

Esercizio -1: essersi iscritti correttamente per svolgere questa prova.

Esercizio 0: Scrivere correttamente il proprio nome, cognome e numero di matricola in ogni foglio prima di svolgere ogni altro esercizio seguente.

Esercizio 1: Una coda a doppia entrata e uscita `e una struttura dati con quattro chiamate:

void deq::inserthead(T: elem) void deq::inserttail(T: elem) T deq::extracthead()

T deq::extracttail()

che servono rispettivamente per inserire in testa o in coda un elemento e per estrarlo dalla testa o dalla coda. Cio’ che viene inserito da una estremit`a della coda viene consumato in modo LIFO dalla stessa estremit`a e FIFO dall’altra.

La coda ha una capacit`a massima di MAXCAPACITY elementi. Ci deve essere attesa se si tenta di inserire in una coda piena o estrarre da una vuota. Le richieste pendenti devono essere soddisfatte seguendo l’ordine di attesa (e.g.

mentre la coda e’ vuota arrivano prima una richiesta di lettura dalla testa e poi una dalla coda, l’elemento inserito far`a completare la prima richiesta, quella di estrazione dalla testa). Scrivere il monitor che gestisca questo problema concorrente.

Esercizio 2. Modificare la soluzione dell’esercizio precedente perche’ come processo da soddisfare dopo una situazione di attesa si scelga preferibilmente quello di tipo opposto (una inserzione/estrazione in testa con la coda vuota/piena sblocca il processo in coda, se ce n’`e uno, e viceversa una inserzione/estrazione in coda quello in testa)

1

(2)

Esercizio 3: Un semaforo operazionale ha una sola chiamata:

S.semop (int : valore)

dove valore se positivo rappresenta una restituzione di risorse, se negativo una richiesta (in modo simile alla V e alla P). Se il valore negativo e’ superiore in valore assoluto al numero di risorse disponibili la semop diviene bloccante.

Il processo verra’ riattivato non appena ci saranno risorse disponibili a sufficienza perche’ la richiesta possa essere completamente soddisfatta. Le richieste pendenti vengono estratte e soddisfatte in modo FIFO.

3a scrivere l’invariante

3b dimostrare semafori operazionali hanno lo stesso potere espressivo dei semafori ordinari

2

Riferimenti

Documenti correlati

Fermi / teoria dei giochi Plank / teoria quantistica Newton / caduta dei gravi Einstein / teoria della relatività Galileo / metodo sperimentale. "Il cantante Tizio e' un cane;

I punteggi di ciascuna domanda sono indicati tra parentesi: attenzione, una risposta errata verr` a valutata con il numero negativo indicato sempre in parentesi, per

Quando un camion vuole scaricare si reca al molo 1 e chiama la funzione harbour.truckunload(int capacity) Quando un camion vuole caricare si reca al molo 2 e chiama la

Esercizio 2a: Dato un meccanismo di message passing sincrono (dotato delle chiamate ssend sreceive viste a lezione) im- plementare un sistema di supporto per il message passing

Esercizio 0: Scrivere correttamente il proprio nome, cognome e numero di matricola in ogni foglio prima di svolgere ogni altro esercizio seguente.. Esercizio 1: Un semaforo ternario `

Esercizio 5: Indicare le modifiche da apportare al codice dell'esercizio 1 per gestire classi di messaggi con diversa priorità, ipotizzare che la funzione class(f) restituisca

Tutte le comunicazioni sono asincrone, i ritardi sono impredicibili ma in genere inferiori a t millisecondi, ad eccezione della comunicazione fra il clock e l'handler che ha

P er la prima volta il comune di Milano potrà avvalersi delle competenze e conoscenze di due medici veterinari come Garanti per la tutela degli animali. Paola Fossati e Gustavo