1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Totale |
|
Scritto completo |
3 |
3 |
3 |
4 |
4 |
4 |
3 |
3 |
3 |
4 |
34 |
I Compitino |
8 |
6 |
6 |
6 |
8 |
34 |
|||||
II Compitino |
6 |
6 |
6 |
8 |
8 |
34 |
Sol: vedi lucidi
Domanda 2
Descrivere significato e possibili modi d'uso (anche con esempi)
dell'istruzione Test & Set.
Sol: vedi lucidi
Domanda 3
Discutere
la
differenza fra process table e user area in un sistema Unix
Sol: vedi lucidi
Domanda 4
Considerate i seguenti processi
Risorse condivise semaphore S=1; int x=0; |
|
Processo
P1 { while (true) do begin down(S); x:=x+1; up(S); end } |
Processo P2 { while (true) do begin down(S); write(x); x:=x+1; up(S); end } |
Sol:
Domanda 5
8 processi richiedono
contemporaneamente (cioe' arrivano tutti al tempo 0) di poter
utilizzare la CPU.
La lunghezza dei
CPU-burst e le priorità sono dati nella
seguente tabella (supponiamo che numeri bassi
corrispondano a
priorità alte e viceversa):
P1 | P2 | P3 | P4 | P5 | P6 |
P7 |
P8 |
|
CPU burst | 5 |
4 |
3 | 2 | 6 | 7 |
10 |
8 |
Priorità | 3 |
5 | 2 | 1 | 4 | 6 |
7 |
8 |
Disegnare il diagramma di Gantt e calcolare il tempo di completamento
di ogni processo
per ciascuna
delle seguenti politiche di scheduling della CPU:
Domanda
7
Considerare la seguente stringa di riferimenti alla memoria di un
processo
in un sistema con memoria virtuale
S = 8 7 6 10 9 7 8 11 2 10 6 2 4 6 8 3 1 4 5 11
Illustrare il comportamento dell'algoritmo LRU di sostituzione delle
pagine per una memoria fisica
di 5 blocchi. Calcolare il numero di page
fault che si verificano.
Sol:
costruendo tabella come visto a lezione => 15 page fault
Domanda 8
Si supponga che,
durante la fase della fsck che verifica
la consistenza dei blocchi vengano prodotti i seguenti
vettori:
indice di blocco: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
vettore blocchi liberi: 0 1 1 1 1 1 0 1 0 1 0 0 0 1 0 5 3
vettore blocchi occupati: 0 2 0 0 0 1 1 1 0 1 0 0 0 3 0 1 1
spiegare quali sono le azioni (passo per passo) intraprese dalla fsck per ripristinare uno stato consistente del file system.
Sol: vedi esempi lucidi
Domanda 9
Considerate un disco con capacita' 2 GB e blocchi
da 4 KB.
Supponendo di utilizzare solo multipli di 2, quanti byte servono per
gli indirizzi di blocco?
Sia N il numero di byte degli indirizzi di blocchi calcolato nella
domanda 1.
Calcolare la dimensione della
FAT.
Quanti blocchi occupa la FAT se memorizzata su disco?
Sol:
Num blocchi: 2Gb/4Kb ==> 2^19 quindi servono 19 bit ==> 4 byte
per indirizzi di blocco
DimFat= 2^19 *4 byte
Blocchi Fat= DimFat/4Kb
Sol: Completa fase di boot (mount
e check f.s., creazione demoni, ...), controlla processi getty,
eredita processi orfani, smonta f.s. e
interrompe servizi durante shutdown
Init si configura tramite
/etc/inittab dove si specifica runlevel e relativi servizi attivabili