• Non ci sono risultati.

UNIVERSITA' DEGLI STUDI DI BOLOGNA - CORSO DI LAUREA IN INFORMATICAPROVA SCRITTA DI SISTEMI OPERATIVIANNO ACCADEMICO 2017/201821 giugno 2018

N/A
N/A
Protected

Academic year: 2021

Condividi "UNIVERSITA' DEGLI STUDI DI BOLOGNA - CORSO DI LAUREA IN INFORMATICAPROVA SCRITTA DI SISTEMI OPERATIVIANNO ACCADEMICO 2017/201821 giugno 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 2017/2018 21 giugno 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: Per raggiungere un'isola con l'autovettura occorre un traghetto. Il traghetto di questo esercizio ha una sola rampa sulla quale può transitare una automobile alla volta.

Il traghetto può imbarcare al massimo MAX automobili. Il traghetto parte solo quando è completamente carico. Occorre disimbarcare tutte le auto prima di imbarcare quelle che desiderano fare la traversata in senso contrario. Le auto possono essere sbarcate in qualsiasi ordine purché una sola alla volta passi sulla rampa.

Il processo traghetto è il seguente:

traghetto: process:

while True:

tmon.al_porto(TERRAFERMA) ... naviga

tmon.al_porto(ISOLA) ... naviga

Mentre le auto per usare il traghetto chiamano uno dei due segmenti di codice:

tmon.imbarca(TERRAFERMA) tmon.imbarca(ISOLA) /* sulla rampa */ /* sulla rampa */

tmon.imbarcato(TERRAFERMA) tmon.imbarcato(ISOLA) /* sulla nave */ /* sulla nave */

tmon.sbarca(ISOLA) tmon.sbarca(TERRAFERMA) /* sulla rampa */ /* sulla rampa */

tmon.sbarcato(ISOLA) tmon.sbarcato(TERRAFERMA) Scrivere il monitor tmon.

Esercizio c.2: Facendo uso di semafori ordinari implementare semafori a limite intero N che possano assumere valori -N, -N+1, ...,1, 0, 1, ..., N-1, N.

L'invariante dei semafori a limite intero di questo esercizio è:

nP - N <= nV + init <= nP + N

dove nP è il numero di operazioni P completate, nV il numero delle operazioni V completate e init è il valore iniziale del semaforo.

Esercizio g.1: Costruire uno stato di un banchiere a tre valute in modo che sia unsafe. Questo stato deve essere tale che aggiungendo una istanza (una unita' di valuta) di ogni valuta lo stato torni safe ma se si aggiungesse una unita' a solamente una o due valute rimarrebbe unsafe. Ricordarsi che, per ogni valuta, il fido concesso ad ogni cliente deve essere minore o uguale della dotazione totale del banchiere.

Esercizio g.2: Rispondere alle domande seguenti:

a) A cosa serve e quando viene eseguito l'algoritmo di calcolo del working set?

b) Come si calcola la lunghezza massima di un file che si può memorizzare su un file system di tipo fat?

c) Quali sono le differenze fra un virus e un worm? come ci si difende da questi tipi di malware?

d) In quali casi la ready queue di uno scheduler può essere vuota? Sono casi fisiologici o patologici della vita di un sistema?

Riferimenti

Documenti correlati

Il canale in corrispondenza del ponte ha una larghezza che consente il passaggio di una imbarcazione alla volta (indipendentemente dalla direzione di provenienza) e le

Scopo dell'esercizio è di scrivere il codice dei processi server che garantiscano che: - tutti i processi server stampino tutti i messaggi ricevuti (indipendentemente dal server

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

Quale è il tempo minimo e quale il tempo massimo impiegato dal sistema per completare l’elaborazione dei due processi al variare della lunghezza del quanto di tempo e della

Trovare una stringa di riferimenti infinita (che usi un numero finito di pagine), se esiste, per la quale l’algoritmo LIFO (per il quale la pagina vittima è l’ultima caricata) e LRU

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”

Nella directory radice all’interno della partizione c’è un file con nome “helloworld” e due directory una chiamata “lost+found” (quella standard per il controllo di coerenza)

Costruire, se possibile, una stringa di riferimenti di lunghezza infinita e che generi infiniti page fault usando un numero finito di pagine tale che FIFO, LRU e MAX si