• Non ci sono risultati.

nome e cognome __________________________ numero di matricola 16 74 __________ CORSO DI SISTEMI OPERATIVI CORSO DI LAUREA IN INFORMATICA - UNIVERSITA’ DI BOLOGNA SESSIONE AUTUNNALE 1998/99 - TERZO APPELLO 09 DICEMBRE 1999

N/A
N/A
Protected

Academic year: 2021

Condividi "nome e cognome __________________________ numero di matricola 16 74 __________ CORSO DI SISTEMI OPERATIVI CORSO DI LAUREA IN INFORMATICA - UNIVERSITA’ DI BOLOGNA SESSIONE AUTUNNALE 1998/99 - TERZO APPELLO 09 DICEMBRE 1999"

Copied!
4
0
0

Testo completo

(1)

nome e cognome __________________________ numero di matricola 16 74 __________

CORSO DI SISTEMI OPERATIVI

CORSO DI LAUREA IN INFORMATICA - UNIVERSITA’ DI BOLOGNA SESSIONE AUTUNNALE 1998/99 - TERZO APPELLO

09 DICEMBRE 1999

Esercizio -1. Essersi correttamente iscritti per sostenere questa prova scritta (secondo le regole indicate in un apposito messaggio news).

Esercizio 0. Scrivere correttamente il proprio nome, cognome e numero di matricola in tutti i fogli.

Caronte, si sa, traghetta le anime dannate verso l'inferno. Le anime sono gravate dal peso dei peccati e la barca di Caronte ha una portata massima MAXLOAD (per non affondare).

Caronte attende sulla riva le anime e le imbarca fino a che ammettendo il peccatore successivo non si superi la portata.

Al fine di rendere più efficiente il servizio viene controllato a questo punto se ci sono in attesa anime con peccati "leggeri" che possano utilizzare la portata ancora inutilizzata. (*)

La barca può quindi partire e portare le anime verso l'inferno.

La vita (si fa per dire) delle anime dannate è la seguente:

dannato[i]: process defungi,

L=calcola peso peccati(i);

traghetto.sali(i,L) ... viene traghettato traghetto.scendi(i)

... vai nel girone opportuno while (true)

contrappasso(i);

E la vita di Caronte è la seguente:

Caronte: process traghetto.imbarca()

... traversata verso l'inferno traghetto.sbarca()

... traversata da solo di ritorno.

La barca di Caronte è stata ovviamente costruita per reggere il peso del più grande peccatore cioè L≤MAXLOAD.

Esercizio 1. Implementare il monitor traghetto.

(2)
(3)

nome e cognome __________________________ numero di matricola 16 74 __________

Esercizio 2. Implementare le funzioni di traghetto con message passing asincrono senza l'ottimizzazione indicata con (*). Si desidera che la soluzione non faccia uso di processo gestore. (Hint: Caronte può tenere un "registro" delle anime in attesa).

Esercizio 2b. E' possibile risolvere il problema ottimizzato (con *) tramite message passing asincrono senza l'uso di processo gestore?

(Hint: e se ci fosse una primitiva non bloccante per chiedere se ci sono messaggi pendenti da ricevere)

(4)

Esercizio 3. Date le specifiche del problema può esserci starvation? Perché?

Esercizio 4. Si consideri l'istruzione atomica boh(x,y,z) ::= <x=y=yz>

definita per valori di x,y,z reali e nell'intervallo [0,1].

La funzione boh può essere utilizzata per realizzare un supporto per sezioni critiche (à la test&set)?

perché?

Riferimenti

Documenti correlati

Esercizio 0: Scrivere correttamente nome, cognome, matricola e posizione prima di svolgere ogni altro esercizio.. Esercizio 1: Il

Esercizio 1: A Vallettopoli esistono i valletti e i dirigenti. I dirigenti sono rigorosamente organizzati per ruolo in maniera gerarchica: 1 direttore generale, 3 direttori di rete,

Il produttore di oggetti di tipo A non puo' produrre un altro elemento di tipo A se non e' stato nel frattempo prodotto uno di tipo B e similmente il consumatore del tipo A non

Esercizio 0: Su entrambi i fogli, scrivere correttamente nome, cognome, matricola e posizione prima di svolgere ogni altro esercizio.. Quale sarebbe stato invece il tempo

Dati quattro processi A,B,C,D e tre risorse (singole risorse, non classi) R1, R2, R3 seriali non prerilasciabili, fornire una sequenza di richieste che porti tutti e quattro i

Siano dati i seguenti processi real-time periodici, con i rispettivi valori di periodicità e costo:..

Un negozio di parrucchiera è dotato di N sedie per le clienti in attesa, e una sedia per la cliente attualmente servita (una sola. parrucchiera, quindi una

sia dato un indirizzo virtuale v appartenente alla pagina p tale che v+1 (la voce successiva) appartenga alla pagina p' (diversa da p). - E' possibile che si dia