Compito di Sistemi Operativi, Prof. Mancini - 18 novembre 1998
1. (punti: -1,4)
Il comando delay(cond):
2. (punti: -1,4)
Il comando seek:
Nella realizzazione dei meccanismi di protezione che regolano l'attribuzione dei diritti di accesso agli utenti:
Il fenomeno conosciuto sotto il nome di thrashing indica:
Illustrare in al piu' 60 parole come puo' avvenire la migrazione in
un diverso dominio di protezione di un processo Unix.
6. Considerare un insieme di cinque processi
P1, P2, P3, P4,P5 con i seguenti tempi di arrivo e tempi di esecuzione
in millisecondi:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Assegnare questo insieme di processi ad un processore in base alla politica Round Robin considerando un quanto di tempo di 4 millisecondi.
b (punti: 2)
Calcolare il valore medio del tempo di attesa dei processi.
c (punti: 2)
Calcolare il valore medio del tempo di turnaround dei processi;
S = 1 3 5 4 6 5 1 7 4 6 3 7 6 2 4 3 1 6 3 7
Illustrare il comportamento dell'algoritmo Second Chance di sostituzione delle pagine per una memoria fisica di 5 blocchi. Calcolare il numero di page fault che si verificano.
b (punti: 3)
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.
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: 8)
Realizzare un Perl script efficiente che riceve dalla linea di
comando una sequenza di coppie di pattern, il nome di un archivio in ingresso
preceduto dall'opzione -i ed il nome di un archivio in uscita preceduto
dall'opzione -o. Il programma restituisce una copia modificata dell'archivio
di ingresso in quello di uscita, dove ciascuna occorrenza del primo elemento
della coppia di pattern viene sostituita dal secondo elemento della coppia.
Risultati della prova
1.c 2.f 3.c 4.e
5. (dal Maestrini pag. 532, 65 parole).
Per ogni processo P, la coppia (GruppoEffettivo, NomeEffettivo)* assume normalmente il valore (GruppoReale, NomeReale). P puo' richiedere esplicitamente l'assegnazione di un valore diverso a (*) con una chiamata di sistema oppure eseguire un programma contenuto nell'archivio Fi: In questo caso l'exec assegna a (*) il valore corrispondente al proprietario di Fi, ricavato dal descrittore di Fi, se e' vera la variabile SetUId nel descrittore.
6.
a) Algoritmo Round Robin
con quanto = 4 millisecondi:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b) media tempo di attesa dei
processi: 136/5
c) valore medio del tempo di
turnaround dei processi: 185/5
7.
a) Algoritmo Second Chance
(pag. 473 del Maestrini):
|
TurnoMS e' inizializzato a 4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
Numero di page fault: 5+3
b. Algoritmo
LRU
(pag. 469 del Maestrini):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
Numero di page fault: 5+5
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...
- 18 novembre 1998
Si ringraziano i volenterosi studenti Alessandro Cagnetti e Daniele Giabbai.