• Non ci sono risultati.

UNIVERSITA' DEGLI STUDI DI BOLOGNA - CORSO DI LAUREA IN INFORMATICA CORSO DI SISTEMI OPERATIVI - ANNO ACCADEMICO 2006/2007 CONCORRENZA - 07 Settembre 2007

N/A
N/A
Protected

Academic year: 2021

Condividi "UNIVERSITA' DEGLI STUDI DI BOLOGNA - CORSO DI LAUREA IN INFORMATICA CORSO DI SISTEMI OPERATIVI - ANNO ACCADEMICO 2006/2007 CONCORRENZA - 07 Settembre 2007"

Copied!
5
0
0

Testo completo

(1)

Nome_______________ Cognome _____________________N. di matricola (10 cifre) ______________________ Riga ___ Col _____

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

CONCORRENZA - 07 Settembre 2007

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

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

Esercizio 1:

Per assemblare una macchinina giocattolo, un operatore addetto all'assemblaggio deve prelevare 4 ruote dal contenitore delle ruote e 1 scocca dal contenitore delle scocche. Per non intralciarsi a vicenda, se non ci sono tutti i pezzi necessari, gli operai assemblatori evitano di prelevarne e si riposano fino a quando i pezzi tornano disponibili. Il contenitore delle scocche puo' contenere al piu' 8 scocche, mentre quello delle ruote al piu' 64 ruote. Gli operai addetti alla produzione delle ruote producono una ruota alla volta per poi aggiungerla al contenitore delle ruote. Se il contenitore e' pieno, si riposano attendendo lo spazio

disponibile per depositare la ruota nel contenitore. Gli operai addetti alla produzione delle scocche si comportano in modo totalmente analogo. Scrivere il monitor Fabbrica con i seguenti metodi:

void deposita_ruota(ruota r);

void deposita_scocca(scocca s);

void preleva_pezzi(ruota r[4]; scocca& s);

Esercizio 2:

Dato un sistema di message passing asincrono, implementarne uno completamente asincrono.

E' possibile scrivere questo programma senza un processo server?

Dato un sistema di message passing completamente asincrono, implementarne uno asincrono.

E' possibile scrivere questo programma senza un processo server?

NB: Asincrono: recv bloccante (se non ci sono messaggi), send non bloccante. Completamente asincrono:

ne' send ne' recv bloccano il chiamante.

Esercizio 3:

Con quali delle seguenti funzioni e' possibile implementare un meccanismo di entrata e uscita da una sezione critica? Motivare la risposta con un frammento di codice o una spiegazione per l'impossibilita'.

1. f1(x,y)=< x1 = x/64 + y%64 ; y = y/64 + x%64 ; x = x1 >

2. f2(x,y)=< x1 = gcd(x,y) ; y = x*y/x1 ; x=x1 >

3. f3(x,y)=< x1 = x^2 ; y = y * x1 ; x = x1 >

(2)
(3)

Nome_______________ Cognome _____________________N. di matricola (10 cifre) ______________________ Riga ___ Col _____

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

PARTE GENERALE - 07 Settembre 2007

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

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

Esercizio 1:

Quali sono gli eventi rilevanti per un device driver? (e.g. quali sono gli eventi causati dal software o dall'hardware che pongono in esecuzione le funzioni di un device driver)

Per ogni evento identificato scrivere la pseudo codifica delle azioni svolte dal device driver per la gestione dell'evento.

Mettere in evidenza nella pseudocodifica le differenze fra le operazioni svolte da un device driver per un device che funzioni in modalita' DMA e uno incapace di operare in DMA.

Esercizio 2:

Sia dato un sistema con scheduler round robin per la CPU (time slice = 2ms) e un disco gestito con la politica C-LOOK con velocità di seek 1ms per cilindro e tempo di lettura della traccia trascurabile (tempo nullo ai fini dell'esercizio). La testina è posizionata inizialmente sul cilindro 0. Siano dati i seguenti tempi p1. 4ms CPU, I/O traccia 2, 3 ms CPU, I/O traccia 8, 3 ms CPU

p2. 5ms CPU, I/O traccia 5, 3 ms CPU, I/O traccia 1, 2 ms CPU p3. 3ms CPU, I/O traccia 10, 3 ms CPU, I/O traccia 3, 3 ms CPU p4. 4ms CPU, I/O traccia 7, 3 ms CPU, I/O traccia 1, 5 ms CPU Mostrare il diagramma di gannt della CPU e del disco.

Esercizio 3:

Correlare ogni elemento della lista A con uno della lista B e per ogni coppia formulare una frase che spieghi perche' i due termini sono in relazione fra loro.

Lista A.

Capability, Rimpiazzamento, Device Driver, Grafo di Holt, Shortest Job Next, Algoritmo Ascensore, Allocazione Indicizzata

Lista B

Deadlock, Disco, Memoria Centrale, Crittografia, Interrupt, File System, CPU.

(4)
(5)

Riferimenti

Documenti correlati

Per accedere alle sale di un noto museo russo e' obbligatorio lasciare la giacca al guardaroba, dove lavora un solo dipendente. Per lasciare o ritirare la propria giacca e'

Esercizio 2: La primitiva bloccante send2(msg m, pid rcv1, pid rcv2) invia il messaggio m sia al processo rcv1 che al processo rcv2 e sospende il processo chiamante fino a quando m

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,

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

Se piu' di un giocatore ottiene il valore piu' alto allora tutti i giocatori perdono la posta. Una volta finito il round i giocatori perdenti lasciano il tavolo e, se hanno

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.. Esercizio 1