===========================================================================
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.
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 ?