Compito di Sistemi Operativi, 20/6/2000
Compito di Sistemi Operativi, Prof. Mancini:
20 giugno 2000
TESTO
- (punti: -1,4)
Se un sistema è multiprogrammato allora:
- il modello concorrente dei processi non consente la condivisione
dei dati fra processi diversi;
- la migliore utilizzazione del processore permette di ridurre il
valore medio del tempo di permanenza nel sistema dei lavori sottomessi
dagli utenti e quindi il tempo di esecuzione di ogni singolo lavoro
è minore di quello che risulterebbe in un sistema uniprogrammato;
- la migliore utilizzazione del processore permette di ridurre il
valore medio del tempo di permanenza nel sistema dei lavori sottomessi
dagli utenti ma il tempo di esecuzione di ogni singolo lavoro è
maggiore di quello che risulterebbe in un sistema uniprogrammato;
- la peggiore utilizzazione del processore non permette di ridurre
il valore medio del tempo di permanenza nel sistema dei lavori
sottomessi dagli utenti e quindi il tempo di esecuzione di ogni
singolo lavoro è maggiore di quello che risulterebbe in un sistema
uniprogrammato;
- la peggiore utilizzazione del processore non permette di ridurre
il valore medio del tempo di permanenza nel sistema dei lavori
sottomessi dagli utenti ma il tempo di esecuzione di ogni singolo
lavoro è minore di quello che risulterebbe in un sistema
uniprogrammato;
- più attività vengono eseguite concorrentemente, una sola di
esse svolge un servizio di stretta pertinenza dell'utente;
- più attività vengono eseguite concorrentemente, più d'una
di esse può svolgere un servizio di stretta pertinenza dell'utente;
- nessuna delle affermazioni precedenti è corretta.
- (punti: -1,4)
Il controllo del vettore delle maschere MV viene effettuato
dalle primitive hP ed hV. In particolare:
- l'assegnamento MV[i]=false viene eseguito esclusivamente
dalla primitiva hP(i) quando, trovando IV[i]=false, sospende il
processo di controllo;
- l'assegnamento MV[i]=false viene eseguito esclusivamente
dalla primitiva hP(i) quando, trovando IV[i]=true, sospende il
processo di controllo;
- l'assegnamento MV[i]=false viene eseguito esclusivamente
dalla primitiva hV(i), appena questa primitiva viene attivata
dal riconoscimento dell'interruzione IV[i].
- l'assegnamento MV[i]=true viene eseguito esclusivamente
dalla primitiva hP(i) quando, trovando IV[i]=false, sospende il
processo di controllo;
- l'assegnamento MV[i]=true viene eseguito esclusivamente
dalla primitiva hP(i) quando, trovando IV[i]=true, sospende il
processo di controllo;
- l'assegnamento MV[i]=true viene eseguito esclusivamente
dalla primitiva hV(i), appena questa primitiva viene attivata
dal riconoscimento dell'interruzione IV[i].
- nessuna delle affermazioni precedenti è corretta.
- (punti: -1,4)
Il codice del seguente processo P contiene una
chiamata alla primitiva fork di Unix che termina con successo e
genera un processo figlio Pi:
if (fork = 0) {
codice-A
} else {
exec codice-B
}
codice-D
- Il processo P esegue sicuramente il codice-A e potrebbe eseguire
il codice-D;
- Il processo P esegue sicuramente il codice-A e non esegue mai il
codice-D;
- Il processo Pi esegue sicuramente il codice-B e potrebbe eseguire
il codice-D;
- Il processo Pi esegue sicuramente il codice-B e non esegue mai il
codice-D;
- Il processo P esegue sicuramente il codice-B e potrebbe eseguire
il codice-D;
- Il processo P esegue sicuramente il codice-B e non esegue mai il
codice-D;
- Il processo Pi esegue sicuramente il codice-D e potrebbe eseguire
il codice-B;
- Il processo Pi esegue sicuramente il codice-D e non esegue mai il
codice-B;
- Il processo Pi esegue sicuramente il codice-A e potrebbe eseguire
il codice-D;
- Il processo Pi esegue sicuramente il codice-A e non esegue mai il
codice-D;
- nessuna delle affermazioni precedenti è corretta.
- (punti: -1,4)
Quali delle seguenti strutture dati appartengono al sistema di
archiviazione di Unix:
- La
TabellaDeiCollegamenti, o file table, registra lo stato di
assegnazione su disco dei descrittori di archivio;
- La
TabellaDeiDescrittoriInMS, o file table, contiene i puntatori
alla posizione corrente degli archivi aperti;
- La
TabellaDeiCollegamenti, o file table, contiene, fra l'altro, i
puntatori alla posizione corrente degli archivi aperti;
- La
TabellaDeiDescrittoriInMS, o tabella I-node, contiene le copie dei
descrittori di archivio in uso da parte di almeno un processo;
- La
TabellaDeiCollegamenti, o tabella I-node, ogni elemento
registra la cardinalità dell'insieme di processi che stanno
utilizzando l'archivio ad esso associato;
- La
TabellaDeiDescrittoriInMS, o tabella I-node, ogni elemento
registra la cardinalità dell'insieme di processi che stanno
utilizzando l'archivio ad esso associato;
- nessuna delle affermazioni precedenti è corretta.
- (punti: -1.5,4)
Assumendo in ogni caso un comportamento bloccante per la primitiva
receive:
- la forma di comunicazione chiamata ``rendez-vous esteso'' richiede
un comportamento non bloccante della send;
- la forma di comunicazione chiamata ``rendez-vous esteso'' richiede
un comportamento bloccante della send;
- i modelli di comunicazione si dicono sincroni, se la send ha un
comportamento bloccante;
- i modelli di comunicazione si dicono sincroni, se la send non ha un
comportamento bloccante;
- la forma di comunicazione chiamata ``rendez-vous'' richiede
un comportamento non bloccante della send;
- la forma di comunicazione chiamata ``rendez-vous'' richiede
un comportamento bloccante della send;
- nessuna delle affermazioni precedenti è corretta.
- (punti: 6)
Illustrare in al più 70 parole la nozione
di semaforo.
- (punti: 6)
Discutere in al più 70 parole la
transizione dei processi dallo stato di pronto a quello di esecuzione
e viceversa.
- (punti: 6)
Considerare un insieme di cinque processi P1, P2,
P3, P4, P5
con i seguenti tempi di arrivo e tempi di esecuzione in millisecondi:
Processo |
Tempo di arrivo |
Tempo di esecuzione |
P1 |
0 |
16 |
P2 |
5 |
11 |
P3 |
9 |
9 |
P4 |
13 |
7 |
P5 |
7 |
10 |
Assegnare questo insieme di processi ad un processore in base alla
politica Round Robin considerando un quanto di tempo di 4 millisecondi.
Calcolare il valor medio del tempo di attesa ed il valor medio del
tempo di turnaround dei processi.
- Considerare la seguente stringa di riferimenti alla memoria
di un processo in un sistema con memoria virtuale
S = 9 3 1 0 5 2 1 3 9 5 0 1 4 2 0 3 6 2 9 1
- (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.
- (punti: 3)
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.
- (punti: 9)
Considerare un insieme di processi che interagiscono mediante una
variabile condivisa di tipo stringa. I processi si dividono in
scrittori e lettori. I primi assegnano un valore alla variabile, e nel
fare ciò, escludono qualsiasi altro processo dall'accedervi. I
lettori leggono il valore della variabile, e nel fare ciò, escludono
i processi scrittori ma non altri lettori. Definire una classe Java
che implementi processi (thread) scrittori ed una che implementi i
processi lettori.
Risposte Compito di Sistemi Operativi, 20/6/2000
- c, g
- c, d
- f, i
-
c, d
- a, c, f
- Politica Round Robin
P1 |
P1 |
P2 |
P5 |
P1 |
P3 |
P2 |
P4 |
P5 |
P1 |
P3 |
P2 |
P4 |
P5 |
P3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0-4ms |
4-8 |
8-12 |
12-16 |
16-20 |
20-24 |
24-28 |
28-32 |
32-36 |
36-40 |
40-44 |
44-47 |
47-50 |
50-52 |
52 - 53 |
53ms
|
Tempo
medio d'attesa: 155/5=31
Turn Around medio: 208/5
-
- ALGORITMO LRU
Pagina Riferita
|
9 |
3 |
1 |
0 |
5 |
2 |
1 |
3 |
9 |
5 |
0 |
1 |
4 |
2 |
0 |
3 |
6 |
2 |
9 |
1 |
0 |
9 |
9 |
9 |
9 |
9 |
2 |
2 |
2 |
2 |
2 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
|
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
4 |
4 |
4 |
4 |
4 |
4 |
9 |
9 |
2 |
|
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
6 |
6 |
6 |
6 |
3 |
|
|
|
0 |
0 |
0 |
0 |
0 |
9 |
9 |
9 |
9 |
9 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
4 |
|
|
|
|
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
3 |
3 |
3 |
3 |
3 |
|
P |
P |
P |
P |
P |
P |
|
|
P |
|
P |
|
P |
P |
|
P |
P |
|
P |
P |
=
14 page fault