Compito di Sistemi Operativi, Prof. Mancini - 30 settembre 1997
1. (punti: -1.5, 4)
I "meccanismi elementari" per la mutua esclusione:
Una risorsa e' chiamata "prerilasciabile" se e solo se:
L'organizzazione della memoria centrale con paginazione statica:
Una struttura dati inode del sistema di archiviazione di Unix e' associata ad un archivio F. Il campo link (collegamenti) di questo inode contiene:
Sono nella shell del sistema Unix e cancello l'archivio file1 con il comando
rm /users/studenti/file1
L'operazione ha successo. Quali delle seguenti strutture dati sono state
sicuramente
modificate e quali sono rimaste sicuramente invariate durante l'esecuzione
di questo comando? (Indicare M per sicuramente Modificate, I
per sicuramente Invariate e lasciare in bianco altrimenti.)
Struttura dati | Modificata/Invariata |
a) il super-block | |
b) l'i-node bitmap | |
c) la block bitmap | |
d) l'i-node di "file1" | |
e) la tabella FILP | |
f) la tabella degli i-node | |
g) la tabella dei processi | |
h) il root-directory | |
i) il direttorio "studenti" | |
j) il direttorio "users" |
6. Considerare un insieme di cinque processi
P1, P2, P3, P4, P5
con i seguenti tempi di arrivo e tempi di esecuzione in millisecondi:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S = 9 3 1 0 5 9 1 4 2 0 3 6 2 4 1 5 9 0 3 6
Utilizzare le primitive P e V definite sui semafori per garantire la
consistenza di un insieme condiviso di dati fra processi lettori e processi
scrittori.
9. (punti: 6)
Scrivere un Perl script efficiente che riceve i nomi di due archivi come argomenti e restituisce in STDOUT l'intersezione per linee di questi due archivi. Il programma da un messaggio d'errore se i due archivi non esistono.
Risultati della prova
1. a,c,e
2. c
3. b,e
4. c
5.
Struttura dati | Modificata/Invariata |
a) il super- block | I |
b) l'i- node bitmap | |
c) la block bitmap | |
d) l'i- node di "file1" | M |
e) la tabella FILP | I |
f) la tabella degli i- node | I |
g) la tabella dei processi | I |
h) il root-directory | I |
i) il direttorio "studenti" | M |
6.
P1 |
P2 |
P1 |
P5 |
P3 |
P2 |
P4 |
P1 |
P5 |
P3 |
P2 |
P4 |
P1 |
0-5 |
5-10 |
10-15 |
15-20 |
20-25 |
25-30 |
30-35 |
35-40 |
40-45 |
49-49 |
49-50 |
50-52 |
52-53 |
Tempo medio di attesa = 165/5
Tempo medio di turnaround = 218/5
7.
(a) Algoritmo LRU (pag
469 del Maestrini):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Numero di page fault: 5+11
(b) Algoritmo ottimo:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
Numero di page fault: 5+6
8.
semaphore mutex=1, db=1; int rc=0; void Lettore() { P(mutex); rc++; if (rc==1) P(db); V(mutex); LetturaDB(); P(mutex); rc--; if (rc==0) V(db); V(mutex); } void Scrittore() { P(db); ScritturaDB(); V(db); }
9.
Per esercizio...
30 settembre 1997 -
Si ringraziano i volenterosi studenti Alessandro Cagnetti e Daniele Giabbai.