Author: monica
Last saved by: Valued Acer Customer

Compito di Sistemi Operativi
22 Luglio 2010

Esercizio 1 (5 punti)
Un algoritmo di scheduling della CPU determina l’ordine di servizio dei processi presenti nella ready queue. Data una coda costituita da n processi da eseguire su di un’unica CPU, quante sono le soluzioni possibili al problema dello scheduling? Motivare la risposta data e discutere i vantaggi dello scheduler O(1) di Linux.
 
Esercizio 2 (6 punti)
Si considerino i seguenti processi eseguiti correntemente sulla stessa CPU:

semaphore M, S, T, U;    
int x=0;

     Processo P1	        Processo P2	        Processo P3
				
   	   while(1)		     while(1)	     wait(U);
         {			     { 		     while(1)
           wait(S);		 wait(T);	     {
           wait(M);		 wait(M);		 wait(M)
           x=x+1;     		 write(x);    	 x=0;
           signal(M);		 signal(M);	    	 signal(M)
           signal(T);	       signal(S);      }
   }			     }	

 Qual è l’output di tale programma se i semafori sono inizializzati come segue:
1.	M=1 S=1 T=0 U=0               
2.	M=1 S=0 T=1 U=0                     
3.	M=1 S=1 T=0 U=1
Qual è il ruolo del semaforo M in tale programma?

Esercizio 3 (8 punti)
Una risorsa deve essere allocata ai processi che la richiedono in ordine FIFO. Ogni processo è implementato come segue:

	while(1)
	{
		richiesta-risorsa(id_processo, id_risorsa);
		// usa risorsa
		rilascia-risorsa(id_processo,id_risorsa);
		// resto del ciclo
	} 

Implementare le procedure richiesta-risorsa() e rilascia-risorsa() utilizzando i semafori.

Esercizio 4 (4 punti)
Si consideri una memoria virtuale con 4 pagine logiche e la seguente sequenza di valori per i corrispondenti reference bit dopo 4 “tick” del clock di sistema:
  
Clock tick | Pagina 1 | Pagina 2 | Pagina 3 | Pagina 4
1 | 1 | 0 | 0 | 0
2 | 0 | 0 | 1 | 0
3 | 0 | 1 | 0 | 1
4 | 1 | 0 | 1 | 1

Si applichi l’algoritmo di aging per la sostituzione di pagine, considerando un array di 6 bit per pagina (inizialmente tutti a zero). Determinare la pagina candidata ad essere rimpiazzata allo scadere del quarto tick del clock di sistema.

Esercizio 5 (12 punti)