• Non ci sono risultati.

nome e cognome ___________________________ numero di matricola _____________________ (numero di matricola completo: 10 cifre numeriche)

N/A
N/A
Protected

Academic year: 2021

Condividi "nome e cognome ___________________________ numero di matricola _____________________ (numero di matricola completo: 10 cifre numeriche)"

Copied!
4
0
0

Testo completo

(1)

nome e cognome ___________________________ numero di matricola _____________________

(numero di matricola completo: 10 cifre numeriche)

CORSO DI SISTEMI OPERATIVI

CORSO DI LAUREA IN INFORMATICA - UNIVERSITA’ DI BOLOGNA SECONDO APPELLO DELLA SESSIONE AUTUNNALE AA 1999/2000

Esercizio -1. Essersi iscritti per sostenere questa prova.

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

Un bridge è un apparato che deve consentire lo scambio di messaggi (pacchetti) fra diverse interfacce di rete.

La singola interfaccia di rete può essere modellizzata dalla seguente coppia di processi:

interface_in[i]: process while (true) {

*** receive a frame f from the net ***

router.in(i,f);

}

interface_out[i]: process while (true) {

f=router.out(i);

*** send a frame f to the net ***

}

Occorre precisare che:

- esiste una funzione dest(f) che applicata a un frame ne legge la testata (header) e restituisce il numero dell'interfaccia verso la quale il frame deve essere inviato

- la funzione in non deve essere in nessun caso bloccante.

- associati ad ogni porta di output e' associato un buffer di ampiezza limitata capace di contenere BUFLENGTH pacchetti. Nel caso il buffer venga riempito i frame ulteriori vengono perduti (i protocolli di livello superiore tenteranno di ovviare al problema).

Esercizio 1a: ci sono casi di starvation?

Esercizio 1b: ci sono casi di deadlock?

(2)

Esercizio 2: scrivere il monitor router.

(3)

nome e cognome ___________________________ numero di matricola _____________________

(numero di matricola completo: 10 cifre numeriche)

Esercizio 3: scrivere la classe router facendo uso di semafori

(4)

Esercizio 4: Indicare le modifiche da apportare al codice dell'esercizio 1 per poter spedire al mittente una segnalazione di errore nel caso che il buffer sia pieno. Quali problemi si possono incontrare?

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 un intero che rappresenti la classe di priorita' del frame passato per argomento.

Esercizio 6a: Nel caso dell'esercizio 5 ci sono casi di deadlock?

Esercizio 6b: e ci sono casi di starvation?

Riferimenti

Documenti correlati

Universit` a degli Studi di Padova – Facolt` a di Ingegneria Laurea in Ingegneria

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

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 `

request è utile per riattivare un processo in attesa; xmf può valere m (sblocca un processo in attesa maschile) f (riattiva un processo in attesa femminile) a (any, sblocca

Quando un processo ha necessità di operare in mutua esclusione spedisce il gettone al proprio thread di gestione del gettone, questo non appena riceve il gettone lo mantiene (non

Dato un supporto di semafori Fair caratterizzato dalle chiamate P e V implementare un supporto per semafori unfair, che quindi rispettino gli invarianti del semafori ma che

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