Compito di Sistemi Operativi, Prof. Mancini - 11 febbraio 1998
|
|
|
|
(punti: -1.5, 4)
Nella realizzazione dei processi concorrenti:
(a) |
l'immagine di un processo prelevata dai registri del processore è
salvata nel campo "ImmagineNelProcessore" del descrittore del processo
se e solo se un processo passa dallo stato di esecuzione a quello di attesa; |
(b) |
non è vero che l'immagine di un processo prelevata dai registri
del processore è salvata nel campo "ImmagineNelProcessore" del descrittore
del processo se e solo se un processo passa dallo stato di esecuzione a
quello di attesa; |
(c) |
l'immagine di un processo prelevata dal campo "ImmagineNelProcessore"
del descrittore del processo è ripristinata nei registri del processore
se e solo se il processo passa dallo stato di pronto a quello di esecuzione; |
(d) |
non è vero che l'immagine di un processo prelevata dal campo
"ImmagineNelProcessore" del descrittore del processo è ripristinata
nei registri del processore se e solo se il processo passa dallo stato
di pronto a quello di esecuzione; |
(e) |
il salvataggio e il ripristino non sono indispensabili affinchè,
dopo essersi sospeso, il processo possa riprendere l'esecuzione del suo
programma senza apparente discontinuità e senza alcuna perdita di
informazione; |
(f) |
nessuna delle affermazioni precedenti è corretta. |
|
|
|
(punti: -1.5, 4)
Le seguenti quattro condizioni (1) le risorse sono seriali, (2) le risorse
sono non prerilasciabili, (3) le risorse sono gestite con richiesta bloccante,
e (4) il sistema raggiunge uno stato di attesa circolare, sono collettivamente:
(a) |
necessarie affinchè si verifichi lo stallo; |
(b) |
sufficienti affinchè si verifichi lo stallo; |
(c) |
necessarie e sufficienti affinchè si verifichi lo stallo; |
(d) |
necessarie affinchè si verifichi l'attesa indefinita; |
(e) |
sufficienti affinchè si verifichi l'attesa indefinita; |
(f) |
necessarie e sufficienti affinchè si verifichi l'attesa indefinita; |
(g) |
nessuna delle affermazioni precedenti è corretta. |
|
|
|
(punti: -1.5, 4)
L'organizzazione della memoria centrale con paginazione statica:
(a) |
introduce una certa frammentazione interna, che è tanto più
rilevante quanto più la lunghezza media dei programmi è grande
rispetto all'ampiezza della pagina; |
(b) |
introduce una certa frammentazione interna, che è tanto meno
rilevante quanto più la lunghezza media dei programmi è grande
rispetto all'ampiezza della pagina; |
(c) |
introduce una certa frammentazione esterna, che è tanto meno
rilevante quanto più la lunghezza media dei programmi è grande
rispetto all'ampiezza della pagina; |
(d) |
introduce una certa frammentazione esterna, che è tanto più
rilevante quanto più la lunghezza media dei programmi è grande
rispetto all'ampiezza della pagina; |
(e) |
elimina la frammentazione esterna e rimuove il vincolo della contiguità
dello spazio fisico in memoria centrale; |
(f) |
elimina la frammentazione esterna ma mantiene il vincolo della contiguità
dello spazio fisico in memoria centrale; |
(g) |
nessuna delle affermazioni precedenti è corretta. |
|
|
|
(punti: -1.5, 4)
Una struttura dati "i-node" del sistema di archiviazione di Unix è
associata ad un archivio F. Il campo "link" (collegamenti) di questo i-node
contiene:
(a) |
il puntatore alla posizione corrente dell'archivio F; |
(b) |
un contatore che registra la cardinalità dell'insieme di processi
che stanno utilizzando l'archivio F; |
(c) |
un contatore che registra la cardinalità dell'insieme dei direttori
dai quali è possibile accedere all'archivio F; |
(d) |
un contatore che registra la cardinalità dell'insieme di elementi
nella "tabella dei collegamenti" che riferiscono l'i-node dell'archivio
F; |
(e) |
un contatore che registra la cardinalità del gruppo di utenti
del quale fa parte il proprietario dell'archivio F; |
(f) |
il modo con il quale l'archivio F è stato aperto; |
(g) |
nessuna delle affermazioni precedenti è corretta. |
|
|
|
(punti: -0.5, 5.4)
Sono nella shell del sistema Unix ed eseguo il comando:
cp /users/studenti/file1 /users/studenti/file2.
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" |
|
|
|
|
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
P2
P3
P4
P5 |
0
9
4
7
11 |
15
6
5
9
7 |
(a) |
(punti: 4)
Assegnare questo insieme di processi ad un processore in base alla
politica Shortest Job First con prerilascio; |
(b) |
(punti: 2)
Calcolare il valor medio del tempo di attesa dei processi. |
(c) |
(punti: 2)
Calcolare il valor medio del tempo di turnaround dei processi. |
|
|
|
Considerare la seguente stringa di riferimenti di un processo alla
memoria in un sistema con memoria virtuale:
S = 3 6 0 9 3 1 0 5 9 1 4 2 0 3 6 2 4 1 5 9
(a) |
(punti: 4)
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. |
(b) |
(punti: 4)
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: 10)
Scrivere le procedure send e receive per la comunicazione
tra processi secondo il modello sincrono utilizzando i semafori. |
|
|
(punti: 6)
Estendere il comando grep di Unix realizzando un Perl script efficiente
che riceve dalla linea di comando tre argomenti (una stringa, un
numero k e un nome di file) e restituisce in STDOUT per ogni
linea di file che contine stringa anche le k linee precedenti. |
|
|
|
|