Corso di Laurea in Informatica Applicata – La Spezia

26 Maggio 2003

Sistemi Operativi

 Prova Scritta


===========================================================================

PRIMA PARTE

 

1. Nel contesto della comunicazione tra processi descrivere le caratteristiche dei  monitor.


2. Scrivere in pseudo-Pascal (o in altro meta-linguaggio) una soluzione al problema Produttori-Consumatori usando i monitor.


3. Quali sono le principali differenze tra una chiamata a procedura di sistema e una normale chiamata di procedura ?

 

4. Quali sono i principali passi svolti  da UNIX per eseguire il comando ls  digitato in una shell ?


5. Un sistema e’ composto da 7 processi P1, ..., P7 e da 6 risorse condivise R1, ..., R6, ciascuna di tipo diverso.

La situazione del sistema e’ la seguente:

·        P1 occupa R1 e richiede R2;

·        P2 non occupa risorse e richiede R3;

·        P3 non occupa risorse e richiede R2;

·        P4 occupa R4 e richiede sia  R2 che R3;

·        P5 occupa R3 e richiede R5;

·        P6 occupa R6 e richiede R2;

·        P7 occupa R5 e richiede R4;

 

Si determini, utilizzando il grafo di allocazione delle risorse, se il sistema e’ in deadlock e, in caso affermativo, quali sono i processi e le risorse coinvolti.

 

============================================================

SECONDA PARTE

 

6. In un sistema a memoria virtuale si stima che la dimensione media dei processi sia di s=512 KB. Considerando che la dimensione dei descrittori di pagina occupato è e=16 byte, confrontare l’occupazione di memoria dovuta alla tavola delle pagine ed alla frammentazione interna, nei seguenti casi:

a)      Pagine da p=512 byte

b)      Pagine da p=8 KB

Quale è la dimensione ottima (potenza di due!)?


7. Descrivere l’algoritmo di sostituzione di pagine in Windows 2000.

 

8. Quali sono le parti del sw di I/O di un sistema operativo non a microkernel che girano in user space ?

 

9. A che cosa serve la cache del controllore di disco? Che differenza di funzione ha  rispetto alla block cache nel file system ?


10.  Come viene verificata la consistenza di blocchi in Unix e Windows ?