1. Introdurre i semafori nel contesto della comunicazione tra processi.
2. Si scriva in pseudo-C (o in altro pseudo-codice) una soluzione corretta per il problema del barbiere addormentato.
3. Spiegare le differenze esistenti tra una chiamata di procedura standard e una chiamata di sistema.
4. Elencare le condizioni di Coffman per lo stallo. Quante se ne devono verificare contemporaneamente affinche' ci sia uno stallo?
5. Siano due processi A e B, entrambi con quattro threads (i threads del processo A sono A1, A2, A3 e A4; i threads del processo B sono B1, B2, B3 e B4). Il quanto di schedulazione e' 90 ms, e ogni thread consuma esattamente 15 ms di CPU prima di terminare. Un cambio di contesto occupa 1 ms.
Se adottiamo una gestione di threads a livello utente, sono possibili le seguenti sequenze?
E nel caso di scheduling a livello kernel ?
6. Un processo
genera la seguente sequenza di riferimenti a pagine virtuali:
1, 2, 2, 4, 4, 1, 5,
8, 2, 5, 3, 4, 5, 3, 4, 2, 8, 4, 1
Calcolare il numero e la sequenza di
page fault che si verificano usando i seguenti algoritmi di
rimpiazzamento:
FIFO, con 4 pagine fisiche
LRU, con 4 pagine fisiche
Working set con finestra k pari a 6
7. Descrivere i casi in cui avviene un page fault in Windows 2000.
8. Descrivere l’organizzazione del Berkeley Fast File System.
9. Descrivere i principali passi di un interrupt handler.
10. Descrivere il mappaggio tra indirizzamento virtuale e indirizzamento fisico in un sistema con tabelle di pagine a due livelli.