• Non ci sono risultati.

UNIVERSITA' DEGLI STUDI DI BOLOGNA - CORSO DI LAUREA IN INFORMATICA PROVA SCRITTA DI SISTEMI OPERATIVI ANNO ACCADEMICO 2013/2014 16 luglio 2014

N/A
N/A
Protected

Academic year: 2021

Condividi "UNIVERSITA' DEGLI STUDI DI BOLOGNA - CORSO DI LAUREA IN INFORMATICA PROVA SCRITTA DI SISTEMI OPERATIVI ANNO ACCADEMICO 2013/2014 16 luglio 2014"

Copied!
1
0
0

Testo completo

(1)

Nome_______________ Cognome ____________________N. di matricola (10 cifre) ______________________ Riga ____ Col ____

UNIVERSITA' DEGLI STUDI DI BOLOGNA - CORSO DI LAUREA IN INFORMATICA PROVA SCRITTA DI SISTEMI OPERATIVI

ANNO ACCADEMICO 2013/2014 16 luglio 2014

Esercizio -1: Essere iscritti su AlmaEsami per svolgere questa prova.

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

Scrivere esclusivamente a penna senza abrasioni. E' vietato l'uso delle penne cancellabili, della matita, dei coprenti bianchi per la correzione (bianchetto) e la scrittura in colore rosso (riservato alla correzione).

Il compito e' formato da tre fogli, sei facciate compresa questa. Le soluzioni che si vogliono sottoporre per la correzione devono essere scritte negli spazi bianchi di questi fogli. Non verranno corretti altri supporti.

E' obbligatorio consegnare il compito, e' possibile chiedere che esso non venga valutato scrivendo “NON VALUTARE”

in modo ben visibile nella prima facciata.

Per svolgere questo compito occorre solo una penna e un documento di identità valido. La consultazione o anche solo la disponibilità di altro materiale comporterà l'annullamento del compito (verra' automaticamente valutato gravemente insufficiente).

Esercizio c.1: scrivere il monitor mMbb che realizzi un meccanismo di un minmax bounded buffer.

Dopo le prime MIN operazioni di scrittura, un minmax bounded buffer deve sempre avere almeno MIN elementi e mai piu' di MAX elementi (e' quindi limitato sia nell'ampiezza massima, sia nell'ampiezza minima).

Le funzioni (procedure entry) read e write del minmax bounded buffer hanno gli stessi argomenti e valori di ritorno di quelle del producer/consumer o del bounded buffer ordinario.

Esercizio c.2: Facendo uso di semafori scrivere la funzione rendezvous che consenta ai processi di sincronizzarsi secondo le seguenti specifiche:

– Ogni processo indica come parametro della funzione rendezvous con quanti altri processi vuole sincronizzarsi.

– M processi che chiamano la rendezvous con parametro N rimangono bloccati se M<N.

– Quando l'N-mo processo richiama la rendezvous specificando N come parametro, lui e gli N-1 sospesi devono proseguire nelle propria esecuzione

Esercizio g.1: Siano dati una memoria con 4 frame {0,1,2,3} e un unico processo che usa 5 pagine {0,1,2,3,4} eseguito tramite memoria virtuale (con paginazione a richiesta) su tale memoria.

a- Usando l'algoritmo di rimpiazzamento LRU si costruisca la più corta stringa di riferimenti che inizi con 2,3,4,0 e che al termine abbia la pagina 0 nel frame 0, la pagina 1 nel frame 1, la pagina 2 nel frame 2, la pagina 3 nel frame 3, o si dimostri che tale stringa non esiste.

b- Usando l'algoritmo di rimpiazzamento FIFO si costruisca la più corta stringa di riferimenti che inizi con 2,3,4,0 e che al termine abbia la pagina 0 nel frame 0, la pagina 1 nel frame 1, la pagina 2 nel frame 2, la pagina 3 nel frame 3, o si dimostri che tale stringa non esiste.

c- Usando l'algoritmo di rimpiazzamento FIFO si costruisca la più corta stringa di riferimenti che inizi con 2,3,4,0 e che al termine abbia la pagina 3 nel frame 0, la pagina 2 nel frame 1, la pagina 1 nel frame 2, la pagina 0 nel frame 3, o si dimostri che tale stringa non esiste.

Esercizio g.2:

a) quale supporto hardware e' necessario per implementare un meccanismo di memoria virtuale tramite paginazione a richiesta?

Perche'?

b) quale supporto hardware e' necessario per l'impementazione di uno scheduler round robin? Perche'?

c) quale supporto hardware e' necessario per implementare un algoritmo di rimpiazzamento LFU? Perche'?

Riferimenti

Documenti correlati

Mostrare una stringa di riferimenti di un programma che usi 5 pagine (esiste la pagina 4 non ancora mappata in memoria oltre alle 4 cariate nei frame) e che consenta alla

• Calcolare lo stato della memoria dopo ogni accesso in memoria e contare I page fault usando l'algoritmo di rimpiazzamento Min (nel caso di pagine a 256 byte)?. • generare la

Se N dischi formano un sistema RAID 5, a quanti dischi occorre accedere per leggere un blocco e a quanti dischi occorre accedere per scrivere un blocco (quando il sistema e'

La pagina da liberare e' quella memorizzata nel frame avente come indice il resto della divisione del numero di pagina da inserire e il numero di frame presenti nel sistema3.

Altcolbb deve implementare un buffer limitato con la particolarita' che gli elementi devono essere inseriti nel buffer (fino a un numero massimo MAX) a colori alternati: se

La funzione dualshift puo' essere usata al posto della test&amp;set per la sincronizzazione fra processi? Dimostrare la risposta.. b) Si consideri ora la funzione andor(a,b) che

Se la dimensione viene incrementata I processi eventualmente in attesa di scrivere devono poter inserire I loro elementi nel buffer fino a che e' consentito della

Ogni processo chiama la procedure entry rendezvous.sync specificando due parametri: il numero dei processi con i quali il processo corrente vuole sincronizzarsi e un vettore di