• Non ci sono risultati.

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 2011/2012 24 maggi

N/A
N/A
Protected

Academic year: 2021

Condividi "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 2011/2012 24 maggi"

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 2011/2012 24 maggio 2012

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 vuole 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: Esercizio 1: Un santuario in Nepal e' alla fine di un ponte di corda. Il ponte e' l'unico modo per andare o tornare dal santuario. Sul ponte possono stare al massimo MAXPONTE persone e tutte devono procedere nello stesso senso.

Il santuario contiene al massimo MAXSANTUARIO persone.

I fedeli sono infiniti e seguono il seguente algoritmo:

#define ANDATA 0

#define RITORNO 1

fedele: process [1..infinito]

santuario.entraponte(ANDATA) ... attraversa il ponte ...

santuario.esciponte(ANDATA) ... medita ...

santuario.entraponte(RITORNO) ... attraversa il ponte ...

santuario.esciponte(RITORNO)

Scrivere il monitor santuario con l'avvertenza non solo di seguire le specifiche ma di risolvere eventuali problemi di deadlock e starvation qualora ve ne fossero. (indicare nel caso quali siano e come sono stati risolti).

Esercizio c.2: Implementare usando le asend() e areceive() le seguenti primitive di comunicazione:

s2send(m,dest1,dest2); Invia il messaggio m sia a dest1 sia a dest2.

m = s2receive(sender); Riceve un messaggio in maniera sincrona.

il mittente e i due destinatari devono riattivarsi solo quando entrambi hanno ricevuto il messaggio.

Esercizio g.1: Si consideri il seguente frammento di FAT:

… FAT[30]=16; FAT[31]=35; FAT[32]=33; FAT[33]=34; FAT[34]=36; FAT[35]=40;

FAT[36]=37; FAT[37]=39; FAT[38]=29; FAT[39]=30; FAT[40]=39; ….

e di directory dir: nome file - primo blocco file1: primo blocco=32; ultimo blocco 16 file2: primo blocco=31; ultimo blocco 37

a) Nell'ipotesi che i blocchi abbiano dimensione 1KiB (1024 byte), dire in quali blocchi fisici sono memorizzati seguenti byte di file1 e file2 della directory dir:

i- byte 1025 di file1 ii- byte 2048 di file2 iii- byte 2047 di file2 iv- byte 12239 di file1

b) La FAT così rapprentata è coerente? Se sì, spiegare perchè. Se no, spiegare come potrebbe essere resa coerente.

Esercizio g.2: In un sistema multitasking un processo chiede una operazione di I/O (ad esempio una lettura di un dato da disco tramite la chiamata posix “read”). Raccontare con il maggior numero di particolari possibili la sequenza di azioni compiute dal sistema operativo e dall'hardware fino al completamento dell'operazione di I/O.

Riferimenti

Documenti correlati

Devono essere presenti elementi da leggere in almeno N/2 buffer perche' la chiamata abbia successo (negli elementi relativi a buffer vuoti la chiamata restituisce il valore

In entrambi i casi, la risposta non deve essere limitata al valore numerico, ma deve illustrare il ragionamento. Domanda a) L'insieme A e' vuoto? In caso affermativo spiegare

Esercizio c.1: (a) Scrivere un monitor dualwriter che realizzi un doppio buffer limitato (ogni buffer ha ampiezza BUFSIZE) che consenta a uno scrittore di

Esercizio c.1: (a) Scrivere un monitor nmbb che realizzi un buffer limitato (di ampiezza BUFSIZE) che consenta alle chiamate write (inserimento nel buffer) e read (lettura da

Esercizio c.1: Per lo scopo di questo esercizio si ipotizzi la presenza di infiniti processi che si vogliono sincronizzare a tre a tre sulla base di un contrassegno numerico

Considerando in un sistema di elaborazione dove sono in esecuzione tre istanze del programma P che sono state attivate ai tempi 0,3ms e 7ms e che il sistema usa uno scheduler

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

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