Author: Valued Acer Customer

Compito di Sistemi Operativi
24 Settembre 2010

Esercizio 1 (8 punti)
Cinque processi batch, identificati dalle lettere A, B, C, D ed E, arrivano all’elaboratore rispettivamente al tempo 0, 2, 5, 8 e 11, con tempi di esecuzione stimati pari a 9, 1, 7, 3 e 5 unità di tempo. Per ognuna delle politiche di ordinamento FCFS, Round Robin (quanto di tempo = 3), SJF e SRTF, determinare il tempo medio di attesa e di turnaround, trascurando i tempi dovuti al cambio di contesto.

Esercizio 2 (6 punti)
Dato il sistema descritto dalla seguente rappresentazione insiemistica di assegnazione delle risorse:
P={P_1, P_2, P_3, P_4}, R={R_1, R_2, R_2, R_3}
E={P_1→R_1, P_2→R_1, P_3→R_2, P_3→R_3, P_4→R_1, R_1→P_3, R_2→P_1, R_2→P_2, R_3→P_4}
1)	Si analizzi il grafo di allocazione delle risorse, determinando se il sistema si trovi attualmente in situazione di stallo.
2)	Successivamente si discuta, per ogni processo, se la sua rimozione forzata (con conseguente liberazione delle risorse eventualmente in suo possesso ed annullamento delle sue richieste di risorse) porti ad un cambiamento della situazione precedentemente rilevata.

Esercizio 3 (6 punti)
Si considerino i processi A, B e C che si sincronizzano attraverso i semafori Sem1, Sem2 e Sem3 (inizializzati a 0) e che operano sulle variabili condivise x, y e z, inizializzate rispettivamente a 1, 2 e 1.

Process A				Process B				Process C
{					{					{
   wait(Sem1);			   wait(Sem2);			   signal(Sem2);	
   z=(x-z)*y;			   x=x+y;				   wait(Sem3);
   x=x+z+y;				   z=x-z;				   x=x/y;
   signal(Sem3);			   y=(y-z)+x;			   y=2*z+x;
   wait(Sem1);			   print(y);			   signal(Sem1);
   x=x+y;				   signal(Sem1);			   z=x+z;
   print(x);			}					   print(z);
}										}

Con quale ordine i processi stampano i valori delle tre variabili? Quali valori vengono stampati?

Esercizio 4 (6 punti)
Sia dato un sistema di gestione della memoria principale basato su segmentazione, con indirizzi logici e fisici espressi su 16 bit. Si consideri la tabella dei segmenti riportata di seguito, ove il prefisso 0x denota l’uso di notazione esadecimale:

Si mostri graficamente la mappa di memoria corrispondente, indicando anche il suo grado percentuale di occupazione.

Esercizio 5 (9 punti)
Per ognuno dei seguenti comandi bash indicare:
a)	una descrizione dell’operato del comando
b)	quali processi, file e oggetti file-like sono coinvolti
c)	come viene usato lo standard input e lo standard output

cat /tmp/pippo | grep -v rossi
ls -l > /tmp/pippo; cat < /tmp/pippo
mkfifo /tmp/fifo; cat /tmp/fifo | cat > /tmp/pippo &