• Non ci sono risultati.

UNIVERSITA' DEGLI STUDI DI BOLOGNA - CORSO DI LAUREA IN INFORMATICA PROVA SCRITTA DI SISTEMI OPERATIVI ANNO ACCADEMICO 2016/2017 12 febbraio 2018

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 2016/2017 12 febbraio 2018"

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 2016/2017 12 febbraio 2018

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 (verrà automaticamente valutato gravemente insufficiente).

Esercizio c.1: L'incrocio fra una strada e un canale è regolato da un ponte mobile come quello illustrato dall'apposito segnale.

Ovviamente le auto possono attraversare il ponte solo se è abbassato e si può alzare il ponte se non ci sono auto che lo stanno attraversando. Il ponte deve essere alzato per far passare le imbarcazioni.

Il canale in corrispondenza del ponte ha una larghezza che consente il passaggio contemporaneo di due imbarcazioni, una per ogni senso di percorrenza, il ponte ha la portata massima di MAXCAR autoveicoli.

Le auto per attraversare il ponte usano il seguente protocollo:

bridge.car_enter(direction) ... attraversa il ponte bridge.car_exit(direction) Le imbarcazioni usano il protocollo:

bridge.boat_enter(direction) ... passa sotto al ponte bridge.boat_exit(direction)

dove direction vale 0 o 1 per riconoscere le due diverse direzioni delle auto o delle imbarcazioni. Occorre scrivere la soluzione in modo da evitare casi di starvation.

Esercizio c.2: Sia dato un meccanismo di message passing asincrono. Un numero imprecisato di processi client possono spedire messaggi (stringhe testuali) a N processi server (server0, …, servern-1). Quando un processo client vuole stampare un messaggio sceglie a caso uno dei server e lo spedisce ad esso. Scopo dell'esercizio è di scrivere il codice dei processi server che garantiscano che ogni processo stampi i messaggi da esso ricevuti ma se un client spedisce lo stesso messaggio (allo stesso server o a due server diversi) il messaggio deve risultare stampato una sola volta da uno solo dei server che l'hanno ricevuto.

L’esercizio deve essere svolto senza aggiungere ulteriori processi.

Esercizio g.1:

Considerare i seguenti processi gestiti mediante uno scheduler round robin con timeslice di 4ms su una macchina SMP:

Valuta A: COH=x Valuta B: COH=y

p1: credito=6 assegnati=4 credito=8 assegnati=5

p2: credito=6 assegnati=3 credito=3 assegnati=3

p3: credito=6 assegnati=2 credito=8 assegnati=4

Denotare l'insieme di tutti I valori (x, y) per i quali lo stato sopra indicato risulta safe.

Esercizio g.2: Rispondere alle domande seguenti:

a) Quando viene richiamato l'algoritmo del Banchiere e cosa succede se lo stato risultante viene valutato unsafe (non safe)?

b) Quali contromisure sono necessarie quando la somma dei working set dei processi attivi supera il numero di frame della memoria presenti in un sistema che adotta allocazione globale della memoria primaria?

c) RAID 1 e RAID 5 tollerano entrambi il guasto di un solo disco. Quando è indicato usare RAID 1 e quando RAID 5?

d) Il tempo rimanente calcolato dall'algoritmo SRTF può diventare negativo? (sì o no, perché?)

Riferimenti

Documenti correlati

Nella directory radice all’interno della partizione ci sono tre directory: una chiamata.. “lost+found” (quella standard per il controllo di coerenza), una seconda chiamata “dev”

a) scrivere, se possibile, una stringa di riferimenti di lunghezza infinita (che faccia riferimento ad un insieme finito di pagine e che generi un numero infinito di page fault)

b) Trovate una stringa di riferimenti di lunghezza infinita tale che se confrontiamo FIFO e MIN, da un certo istante in poi il numero di page fault per FIFO sia almeno triplo di

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

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.