• Non ci sono risultati.

UNIVERSITA' DEGLI STUDI DI BOLOGNA - CORSO DI LAUREA IN INFORMATICAPROVA SCRITTA DI SISTEMI OPERATIVIANNO ACCADEMICO 2016/201711 settembre 2017

N/A
N/A
Protected

Academic year: 2021

Condividi "UNIVERSITA' DEGLI STUDI DI BOLOGNA - CORSO DI LAUREA IN INFORMATICAPROVA SCRITTA DI SISTEMI OPERATIVIANNO ACCADEMICO 2016/201711 settembre 2017"

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 11 settembre 2017

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: Un semaforo intelligente controlla un incrocio al quale si può accedere da 4 direzioni N, E, S, W. Un solo veicolo alla volta deve occupare l’area dell’incrocio. Se sono presenti veicoli da tutte le direzioni, il semaforo fa avanzare ciclicamente un veicolo da ogni direzione (NESWNESWNESW…). Se nessun veicolo è in attesa da una direzione, il turno viene saltato.

Quella che segue è la porzione di di programma eseguita dai veicoli per passare attraverso l’incrocio:

crossing.enter(direction) …critical section

crossing.exit(direction)

Nonostante sia un semaforo, questo esercizio deve venir risolto coi monitor.

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 spedire 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:- tutti i processi server stampino tutti i messaggi ricevuti (indipendentemente dal server che l'ha ricevuto)

- tutti i processi server stampino la stessa sequenza di messaggi.

** L’esercizio deve essere svolto senza aggiungere ulteriori processi.

Esercizio g.1: Sia data una sequenza di accessi in memoria effettuati da tre processi a,b,c. Si consideri un sistema che applichi il meccanismo del Working set in modo globale e non processo per processo. Il Working set ha durata equivalente a 15 riferimenti in memoria e il numero di frame globale del sistema e' pari a 10. Il sistema ha pagine di 256 byte.

Sia data quindi la seguente sequenza di indirizzi relativa agli in memoria dei processi (a:0x123A significa che il processo accede all’indirizzo esadecimale 123A).

a:0x123A b:0x1211 c:0x1112 a:0x12FB b:0x1A1A c:0x0A0C a:0x0002 b:0x0002 c:0x0AAA a:0x2D1A b:0x0B0A c:0x1211 a:0x1200 b:0x1A77 c:0x0A0A a:0x1200 c:0x11FF b:0x123A c:0xCAD0 a:0xDAD0 b:0x0000 a:0x12AA b:0x1AA1 b:0x12BB b:0x12BB b:0x0B0A

Calcolare i working set ad ogni istante. Vengono segnalate situazioni di trashing?

Esercizio g.2: Rispondere alle domande seguenti:

a) Per I file system di tipo fat non è efficiente l'accesso diretto (ad esempio con la system call lseek) a file di grandi dimensioni.

Perché?

b) È necessario il supporto DMA per implementare un device driver di tipo interrupt driven? Perché?

c) A cosa serve gestire batterie di dischi con metodologia RAID? E’ necessario fare backup dei dati memorizzati in RAID?

d) Quali sono i benefici del linking dinamico?

Riferimenti

Documenti correlati

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

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

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