Pagina 1 di 2
Corso:
Sistemi Operativi (9 cfu)
-Appello n. 3
- del 14 Luglio 2011 Cognome Nome (in stampatello):Matricola o estremi del documento:
N. Traccia del quesito Punti (tempo)
Soluzione. Nel caso non sia sufficiente lo spazio, specificare “la soluzione continua sul foglio n. x allegato”. % N. Descrivere le fasi che vanno dalla scrittura di un programma in un linguaggio di programmazione di alto livello
fino alla sua esecuzione su un sistema multiutente specificando i moduli del S.O. coinvolti. 5 (15‘)
1 %
N. In quali contesti la system call vfork è maggiormente efficace e su quale tecnica di gestione della memoria è
basata ? Prima di rispondere occorre descrivere la semantica della system call. 5 (15’)
2 %
N. Indicare le principali differenze tra processi e thread (lightweight process) fornendo un esempio di utilizzo
(snippet di pseudo codice) per programmi “concorrenti” in grado di motivare vantaggi e svantaggi di ognuno. 5 (15’)
3 %
Pagina 2 di 2
N. Descrivere il problema della sezione critica indicando le proprietà di base che ogni soluzione deve possedere . 5 (15’)
4 %
N.
Scrivere un programma C che prende 2 parametri sulla linea di comando: una path (una directory esistente nel file system) ed un pattern (stringa contenente anche wildchar * e ? con la stessa semantica della shell). Questo dovrà visitare la directory specificata e tutte le sue sottodirectory contando tutti i “plain file” di taglia superiore a 1 Mb il cui filename soddisfa il pattern specificato. La ricerca non dovrà essere estesa a file system diversi da quello su cui risiede la path specificata. Al termine il programma stamperà il numero di file individuati.
14 (60’)
5 %