• 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 3 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: Fila iniqua. Un servizio viene fornito con politica FIFO con eccezioni. Ogni cliente per ottenere il servizio si mette in fila e aspetta il suo turno. I serventi quando sono liberi servono il primo cliente in attesa (a patto che ce ne sia uno, altrimenti attendono). Esiste un ”potente” che pu´o spedire una ”raccomandazione” per uno dei clienti. Se il cliente e’ in attesa, passa in testa alla lista e quindi sara’ il prossimo ad essere servito.

cliente[i=0..NCL-1]:process ....

coda.richiestacliente(i,servizio) ....

servente[j=0..NSERV-1]:process ....

(i,servizio)=coda.chiedilavoro(j);

....// esegue il servizio coda.lavorofinito(j);

....

potente: process while (true) {

.... // riceve per vie traverse la richiesta di raccomandazione coda.raccomanda(i);

}

Scrivere il monitor denominato coda

1

(2)

Esercizio 2: Un semaforo doppio `e un semaforo che ha tre primitive: DP1, DP2, DV. Se il valore del semaforo `e positivo o nullo e non ci sono processi bloccati la DV incrementa solamente il valore del semaforo. Se il valore del semaforo `e positivo sia la DP1 sia la DP2 si comportano allo stesso modo decrementando il valore del semaforo senza bloccare i processi chiamanti. Se il valore del semaforo `e nullo sia la DP1 sia la DP2 bloccano i processi chiamanti. Se ci sono processi bloccati e un processo richiama la V vengono riattivati il primo processo che `e stato bloccato in attesa a causa di una DP1 e il primo che `e in coda bloccato a causa di una DP2. Qualora non esistano processi bloccati per DP1 o per DP2 viene riattivato un solo processo.

Mostrare che semafori doppi e semafori generali hanno lo stesso potere espressivo.

Esercizio 3: Siano dai tre processi P, Q, R che eseguono i frammenti di codice qui indicati:

P:process Q:process R:process

... ... ...

V(S1) V(S2) V(S3)

V(S1) V(S2) V(S3)

P(S2) P(S1) P(S1)

P(S3) P(S3) P(S2)

... ... ...

Descrivere la funzionalit`a realizzata da questi frammenti di codice eseguiti concorrentemente.

Questa implementazione alternativa:

P:process Q:process R:process

... ... ...

V(S1) V(S2) V(S3)

P(S2) P(S1) P(S1)

V(S1) V(S2) V(S3)

P(S3) P(S3) P(S2)

... ... ...

funziona allo stesso scopo della prima, funziona diversamente o `e errato?

2

Riferimenti

Documenti correlati

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 `

Modificare opportunamente la struttura di dati tabella ad indirizzamento diretto in modo che possa contenere pi`u oggetti con la medesima chiave (ma con dati satellite

Scrivere in forma leggibile il proprio nome, cognome e matricola sul testo del compito e su ogni foglio consegnato.. Consegnare solo la bella copia e il testo

Scrivere in forma leggibile il proprio nome, cognome e matricola sul testo del compito e su ogni foglio consegnato;.. Consegnare solo la bella copia e il testo

Scrivere in forma leggibile il proprio nome, cognome e matricola sul testo del compito e su ogni foglio consegnato.. Consegnare solo la bella copia e il testo