unina.it - CORSO DI SISTEMI OPERTIVI mod.A (gr....

Post on 26-Mar-2021

1 views 0 download

Transcript of unina.it - CORSO DI SISTEMI OPERTIVI mod.A (gr....

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 1 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il livello software che contiene le componenti fondamentali di un sistema operativo e’ chiam-ato kernel. Al kernel appartengono i moduli per: la gestione della memoria centrale, ilcontrollo dei processi, la gestione dell’I/O e la gestione della memoria secondaria. Aquesto elenco di componenti fondamentali del kernel va aggiunto solo il sottosistema perla gestione delle interfacce grafiche e per l’interprete del linguaggio di comando.

b) I sistemi operativi hanno lo scopo primario di permettere alle applicazioni software diinteragire con l’hardware sottostante, e di gestire le risorse hardware e software delsistema in maniera efficiente.

[A] a) vera ; b) falsa

[B] entrambe false

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il meccanismo piu utilizzato dai sistemi operativi per impedire che un processo possamonopolizzare l’uso della CPU consiste nell’assegnare ai processi un numero massimo diistruzioni da eseguire.

b) Quando un processo viene rimosso dalla CPU perchee e scaduto il suo quanto di tempo,viene inserito sempre nella coda dei processi in attesa (waiting queue). Il processo vienerimosso da tale coda solo al momento di tornare in esecuzione

[A] entrambe vere

[B] entrambe false

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

1

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i > 2) exit(0);

}exit(0);}

[A] 16

[B] 9

[C] 8

[D] 10

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 0 2P3 3 4P4 5 6P5 9 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 7.5

[B] 8.5

[C] 7

[D] 8

2

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 5P2 3 6P3 5 7P4 8 6P5 16 3

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 14

[B] 14.2

[C] 13.8

[D] 13.6

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x+2; x = x*2; x = x+1;if (x > 0) then signal(T); signal(S);

x = -1; wait(S); wait(T)endif x = -x; x = x+1print x; signal(R); signal(S);

Si determini l’output del processo P1 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente R = 0, S = 0, T = 1.

[A] -1

[B] -3

[C] -4

[D] -2

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

3

a) Andando dai livelli di memoria piu bassi (dispositivi secondari e terziari) a quelli piu alti(registri e cache), il tempo di accesso diminuisce.

b) In generale, l’overhead a cui si va in contro con l’allocazione non contigua dei processi inmemoria e compensata dal vantaggio di un aumento del grado di multiprogrammazione.

[A] entrambe false

[B] entrambe vere

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 8:

Sia dato un sistema che gestisce una memoria di 5120 byte mediante partizioni variabili. Sisupponga che nella memoria siano gia presenti 5 processi di dimensioni 740, 875, 250, 1450 e490 byte allocati rispettivamente a partire dagli indirizzi fisici 2048, 3072, 2788, 0 e 4096. Sidetermini l’indirizzo in cui verra allocato un ulteriore processo di 389 byte mediante la tecnicadel worst fit.

[A] 4586

[B] 3038

[C] 3947

[D] 1450

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 2, 1, 248 >

[A] 4856

[B] 6904

4

[C] 1272

[D] 3320

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){B[j/2 + i*256] = A[i][j] + C[j];

} }

[A] 10

[B] 12

[C] 8

[D] 11

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Se determini il numero di pagefaults per la squenza di riferimenti alle pagine:

5, 4, 3, 5, 2, 1, 4, 6, 3, 5, 2, 5, 3, 1, 7

[A] 10

[B] 11

[C] 9

[D] 12

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 il

5

sistema operativo sta servendo una richiesta sulla traccia 70 e in coda ci sono richieste per letracce (55; 62; 65; 95; 97; 105). Successivamente arrivano altre richieste all’istante t=7 per latraccia 71 e all’istante t=50 per la traccia 63. Si calcoli il tempo di ricerca complessivo in msper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

[A] 107

[B] 97

[C] 65

[D] 121

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) La motivazione originale per l’introduzione dei sistemi RAID e stata l’osservazione che lavelocita di trasferimento cresceva ad un tasso molto inferiore a quello della crescita siadella capacita dei dischi sia della potenza di elaborazione delle CPU.

b) L’algorimo di scheduling del disco First Come First Served tende ad avere una accettabilevarianza dei tempi di risposta a spese del numero di richieste servite per unita di tempo.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 1 con 6 dischi, se il MeanTime to Failure (MTF) e di 1300 giorni e il Mean Time to Repair (MTR) e di 16.9 giorni.

[A] 0.00003

[B] 0.00009

[C] 0.00001

[D] 0.00011

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

6

a) Un modo per risolvere il problema dei numerosi accessi al disco con lo schema di allocazionedei file a lista concatenata e l’utilizzo di blocchi molto grandi. Con tale modifica si ottieneuno schema senza grossi inconvenienti legati alla gestione del disco, che e utilizzato innumerosi sistemi come, ad esempio, Solaris 2.

b) Uno svantaggio dello schema di allocazione contigua di file in un file system e la frammen-tazione esterna del disco.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe vere

[D] entrambe false

domanda N. 16:

Sia dato un file system di 8 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 512 byte.

[A] 28 KB

[B] 12 KB

[C] 13 KB

[D] 32 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 60-morecord sono necessari 35 accessi in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 40 in scrittura.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe vere

[D] entrambe false

7

================================================== compito N. 1 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

8

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 2 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) L’ordine delle attivita’ di un sistema operativo e’ determinato da eventi che possono esseregenerati da dispositivi hardware, da errori in un programma in esecuzione oppure da unarichiesta specifica di un programma che intende accedere ai servizi del sistema operativostesso mediante chiamate di sistema.

b) Le routine di servizio relative ai differenti eventi di cui alla affermazione a) sono eseguitesempre in modalita’ sistema, anche nel caso di programmi utente che intendono accedereai servizi del sistema operativo attraverso le chiamate di sistema.

[A] a) falsa ; b) vera

[B] entrambe false

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) In ogni sistema operativo e presente una tabella (chiamata tabella dei processi o ProcessControl Block = PCB) che tiene traccia di tutti i processi in esecuzione. In tale tabellae memorizzato per ogni processo in esecuzione un identificativo di processo (pid), unpuntatore alla memoria dove sono stati memorizzati il codice e l’area dati, nonche’ tuttele informazioni necessarie per effettuare correttamente il cambio di contesto.

b) Pur avendo alcuni campi sempre presenti in tutti i sistemi operativi, la struttura generaledel PCB dipende dalla implementazione del sistema operativo.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe false

9

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i > 1) exit(0);

}exit(0);}

[A] 9

[B] 8

[C] 10

[D] 12

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 0 6 3P2 3 3 4P3 7 5 5P4 10 5 2P5 15 4 3

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 7.8

[B] 7.6

[C] 7.4

[D] 7.2

10

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 3P2 1 5P3 3 7P4 8 5P5 10 6

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 13.6

[B] 14

[C] 14.2

[D] 13.8

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui psudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x+1; x = 2*x; x = x+1;if (x > 0) then x = x+1; x = 2*x;

signal(S); signal(T); signal(S);else wait(S); wait(T);

signal(T); x = x+1; print(x);endif signal(T); signal(R);wait(R);

Si determini l’output del processo P3 supponendo che inizialmente x = 0 e i tre semaforibinari siano inizializzati rispettivamente R = 1, S = 0, T = 0.

[A] 9

[B] 8

[C] 10

[D] 11

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

11

a) Con il termine di memoria virtuale si intende tutta la memoria disponibile in un calcolatore,composta cioe della memoria centrale e da tutta la memoria secondaria.

b) Il dispositivo che effettua la traduzione degli indirizzi virtuali in indirizzi fisici e chiamatoMemory Manager Unit.

[A] entrambe false

[B] entrambe vere

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 6 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 2530,1840, 785, 3421, 2013 KByte.

[A] 21540 KByte

[B] 15360 KByte

[C] 19456 KByte

[D] 17408 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

[A] 14850

[B] 3070

12

[C] 6146

[D] 9218

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[256], C[512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i*N+j] = A[i][2*j] + B[j];

} }

[A] 10

[B] 11

[C] 8

[D] 12

domanda N. 11:

Si consideri un sistema opereativo con paginazione su richiesta basato sull’algoritmo FIFO conseconda chance, che assegna ad ogni processo 5 frame. Si determini il numero di page faultsper la seguente sequenza di riferimenti alle pagine:

7, 4, 5, 7, 3, 6, 4, 1, 2, 7, 4, 6, 5, 4, 7

[A] 7

[B] 8

[C] 9

[D] 10

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 il

13

sistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richieste per letracce (40; 65; 90; 120; 145; 125). Successivamente arrivano altre richieste all’istante t=30 perla traccia 95 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricerca complessivoper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

[A] 215

[B] 185

[C] 210

[D] 165

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le testine di un disco memorizzano i dati in tracce, che sono una parte di unita piu grandichiamate settori, i quali formano i cilindri quando sono considerati verticalmente

b) L’algoritmo di scheduling del disco Shortest Seek Time First (SSTF) e il piu adatto aisistemi interattivi, in quanto assicura il minor tempo medio di servizio e non risente delproblema della posticipazione indefinita delle richieste.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 14:

Si consideri un disco che opera a 12000 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 512 bytes ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 8000 KB/sec

[B] circa 19200 KB/sec

[C] circa 16000 KB/sec

[D] circa 9600 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

14

a) Uno dei vantaggi della bitmap rispetto alla lista dei blocchi liberi e la possibilita, per ilsistema, di determinare in maniera efficiente l’esistenza di un certo numero di blocchiliberi contigui.

b) In un file system con struttura gerarchica (ad es. Unix), il nome di un file e formatodall’insieme dei nomi delle directory a partire dalla directory utente fino al file.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 16:

Sia dato un file system di 8 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 1024 byte.

[A] 13 KB

[B] 12 KB

[C] 104 KB

[D] 64 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 50-mo record sono necessari 1accesso in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 15, allora per cancellare il 65-mo recordsono necessari 50 accessi in lettura e 50 in scrittura.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

15

================================================== compito N. 2 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

16

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 3 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un sistema operativo che e in grado di utilizzare in maniera efficiente le risorse che vengonoaggiunte al sistema e detto espandibile.

b) Le chiamate di sistema operano in maniera simile alle interruzioni, nel senso che quandoavviene una chiamata di sistema, il sistema si porta in modalita kernel e serve la richiestamediante una apposita routine di servizio.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il compito principale dello scheduler a lungo termine (anche detto job scheduler) e deter-minare l’ordine con cui i processi accedono alla CPU.

b) L’insieme dei processi che attendono il proprio turno per accedere alla CPU sono organiz-zati in una struttura dati chiamata coda dei processi in attesa (waiting queue).

[A] entrambe vere

[B] entrambe false

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:

17

main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i == 2) exit(0);

}exit(0);}

[A] 8

[B] 10

[C] 14

[D] 12

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 12P2 2 3P3 6 3P4 11 6P5 14 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 8.2

[B] 8.0

[C] 7.8

[D] 8.4

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 3 6P3 5 6P4 9 4P5 13 2

18

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 18.0

[B] 18.4

[C] 18.8

[D] 17.6

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x-5; x = x+2; x = x+3;signal(T); if(x >= 3)then if(x==1)thenwait(R); signal(R); signal(R);signal(S); else endif

signal(T); wait(T);endifwait(S);signal(T);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 1 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 2

[B] x = 1

[C] x = −1

[D] x = 0

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Con il termine di memoria virtuale si intende tutta la memoria disponibile in un calcolatore,composta cioe della memoria centrale e da tutta la memoria secondaria.

b) Il dispositivo che effettua la traduzione degli indirizzi virtuali in indirizzi fisici e chiamatoMemory Manager Unit.

19

[A] entrambe vere

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 180 ns e che il tempo di accesso airegistri TLB richieda 30 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 280 ns.

[A] 58%

[B] 65%

[C] 68.3333%

[D] 61.111%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 1, 2, 341 >

[A] 3413

[B] 1877

[C] 6997

[D] 5461

domanda N. 10:

20

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[512], B[256], C[2][512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i][2*j] = A[i*N+j] + B[j];

} }

[A] 11

[B] 10

[C] 8

[D] 12

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Se determini il numero di pagefaults per la squenza di riferimenti alle pagine:

3, 2, 3, 4, 3, 1, 5, 1, 4, 1, 2, 3, 6, 7, 3

[A] 7

[B] 9

[C] 8

[D] 10

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0il sistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richiesteper le tracce (55; 75; 80; 110; 135; 160). Successivamente arrivano altre richieste all’istantet=30 per la traccia 105 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricercacomplessivo in ms per servire tutte le richieste secondo la politica Shortest Seek Time First(SSTF), trascurando la latenza rotazionale e il tempo di trasferimento.

[A] 155

21

[B] 180

[C] 210

[D] 205

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale problema dei livelli 3 e 4 dei sistemi RAID che li rende meno preferibili rispettoal livello 5 e la necessita della generazione della parita, che comporta un supplemento dioverhead.

b) Utilizzando un disco con 7 ms di tempo di seek, 10 msec di latenza media rotazionale etempo di trasferimento di 20 msec, il tempo necessario per trasferire in memoria centraleun file composto da 15 blocchi, distanti mediamente 10 tracce, e di 1.5 secondi esatti.

[A] entrambe false

[B] entrambe vere

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 5 con 5 dischi, se il MeanTime to Failure (MTF) e di 1600 giorni e il Mean Time to Repair (MTR) e di 23.04 giorni.

[A] 0.00009

[B] 0.0002

[C] 0.00003

[D] 0.00011

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale vantaggio dello schema di allocazione di file con lista concatenata e l’elevataefficienza nella ricerca dei blocchi, poiche sono noti numerosi algoritmi efficienti per lagestione delle liste.

b) La File Allocation Table (FAT) di Microsoft e uno speciale schema di allocazione dei filesu disco che rientra tra le tecniche di allocazione dei file in blocchi contigui.

22

[A] a) vera ; b) falsa

[B] entrambe vere

[C] a) falsa ; b) vera

[D] entrambe false

domanda N. 16:

Sia dato un file system di 2 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 1024 byte.

[A] ∼ 2.7 KB

[B] ∼ 6 KB

[C] ∼ 64 KB

[D] ∼ 16 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 25, allora per cancellare il 60-mo recordsono necessari 35 accessi in lettura e 35 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 1 in scrittura.

[A] entrambe vere

[B] entrambe false

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

23

================================================== compito N. 3 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

24

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 4 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un sistema operativo che e in grado di utilizzare in maniera efficiente le risorse che vengonoaggiunte al sistema e detto espandibile.

b) Le chiamate di sistema operano in maniera simile alle interruzioni, nel senso che quandoavviene una chiamata di sistema, il sistema si porta in modalita kernel e serve la richiestamediante una apposita routine di servizio.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] a) falsa ; b) vera

[D] entrambe false

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) In ogni sistema operativo e presente una tabella (chiamata tabella dei processi o ProcessControl Block = PCB) che tiene traccia di tutti i processi in esecuzione. In tale tabellae memorizzato per ogni processo in esecuzione un identificativo di processo (pid), unpuntatore alla memoria dove sono stati memorizzati il codice e l’area dati, nonche’ tuttele informazioni necessarie per effettuare correttamente il cambio di contesto.

b) Pur avendo alcuni campi sempre presenti in tutti i sistemi operativi, la struttura generaledel PCB dipende dalla implementazione del sistema operativo.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

25

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i < 3) exit(0);

}exit(0);}

[A] 5

[B] 9

[C] 6

[D] 8

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 1 7 2P2 2 5 4P3 6 4 5P4 7 7 1P5 10 2 3

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 10.6

[B] 11

[C] 10.4

[D] 11.2

domanda N. 5:

26

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 3 6P3 5 8P4 9 4P5 11 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 16.2

[B] 16.4

[C] 16.6

[D] 16

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x-5; x = x+2; x = x+3;signal(T); if(x >= 3)then if(x==1)thenwait(R); signal(R); signal(R);signal(S); else endif

signal(T); wait(T);endifwait(S);signal(T);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 1 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 1

[B] x = −1

[C] x = 0

[D] x = 2

27

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Andando dai livelli di memoria piu bassi (dispositivi secondari e terziari) a quelli piu alti(registri e cache), il tempo di accesso diminuisce.

b) In generale, l’overhead a cui si va in contro con l’allocazione non contigua dei processi inmemoria e compensata dal vantaggio di un aumento del grado di multiprogrammazione.

[A] a) vera ; b) falsa

[B] entrambe false

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 8:

Sia dato un sistema che gestisce una memoria di 5120 byte mediante partizioni variabili. Sisupponga che nella memoria siano gia presenti 5 processi di dimensioni 740, 875, 250, 1450 e490 byte rispettivamente allocati negli indirizzi fisici 2048, 3072, 2788, 0 e 4096. Si determinil’indirizzo in cui verra allocato un ulteriore processo di 389 byte mediante la tecnica del bestfit.

[A] 4586

[B] 1450

[C] 3038

[D] 3947

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

28

[A] 3070

[B] 6146

[C] 9218

[D] 14850

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[512], B[2][256], C[2][512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i][2*j] = A[i*N+j] + B[i][j];

} }

[A] 10

[B] 11

[C] 12

[D] 8

domanda N. 11:

Si consideri un sistema opereativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Si determini il numero di pagefaults per la seguente sequenza di riferimenti alle pagine:

6, 1, 4, 6, 5, 3, 1, 2, 4, 6, 5, 6, 4, 3, 5

[A] 9

[B] 8

[C] 7

[D] 10

29

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richieste per letracce (40; 65; 90; 120; 145; 125). Successivamente arrivano altre richieste all’istante t=30 perla traccia 95 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricerca complessivoper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

[A] 165

[B] 215

[C] 185

[D] 210

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Con un carico del disco pesante, la politica di scheduling SCAN andrebbe sempre preferitaalla politica C-SCAN a causa dell’overhead del ”ritorno a vuoto” della testina che inquesto caso diventa ancora piu significativo.

b) Il livello RAID con il piu alto overhead di memoria secondaria e il livello 5, a causa dellospazio utilizzato per la gestione delle informazioni relative alla parita.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] a) falsa ; b) vera

[D] entrambe false

domanda N. 14:

Si consideri un disco che opera a 12000 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 1024 byte ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 16000 KB/sec

[B] circa 9600 KB/sec

[C] circa 8000 KB/sec

30

[D] circa 32000 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Per motivi di efficienza, la lista dei blocchi liberi e generalmente ordinata secondo l’indicedel blocco.

b) I principali compiti di un file system sono: gestire le strutture logiche del file system(directory e file), organizzare i file in blocchi e gestirne l’allocazione, verificare l’integritadei dati, gestire lo spazio libero e verificare che i dati nei file non contengano errori.

[A] entrambe false

[B] a) vera ; b) falsa

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 16:

Sia dato un file system che gestisca blocchi da 256 byte e indirizzi da 16 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 8 puntatori diretti a blocchi di dati

• 2 puntatori indiretti a blocchi di dati

[A] 266240 byte

[B] 67584 byte

[C] 271360 byte

[D] 50944 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 50-morecord e necessario 1 accesso in lettura e 1 in scrittura.

31

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 1 in scrittura.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

32

================================================== compito N. 4 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

33

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 5 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Per motivi di sicurezza, le seguenti istruzioni dovrebbero essere sempre eseguite in modalitasistema: lettura del clock di sistema, disabilitazione delle interruzioni, switch dallamodalita utente a quella di sistema, accesso ai dispositivi di I/O.

b) La principale difficolta nello sviluppo di un sistema operativo real time e garantire che iprocessi terminino la loro esecuzione in un fissato intervallo di tempo. In tal senso unruolo chiave e svolto dallo scheduler.

[A] entrambe false

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il compito principale dello scheduler a lungo termine (anche detto job scheduler) e deter-minare l’ordine con cui i processi accedono alla CPU.

b) L’insieme dei processi che attendono il proprio turno per accedere alla CPU sono organiz-zati in una struttura dati chiamata coda dei processi in attesa (waiting queue).

[A] entrambe false

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:

34

main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i < 3) exit(0);

}exit(0);}

[A] 9

[B] 6

[C] 8

[D] 5

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 1 8P3 4 3P4 9 2P5 12 4

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 10.2

[B] 9.8

[C] 10.0

[D] 10.4

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 3 6P3 5 6P4 9 4P5 13 2

35

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 18.8

[B] 17.6

[C] 18.0

[D] 18.4

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x+3; x = x-5; x = x+2;if(x==4)then signal(R); if(x >= 5)then

signal(S); wait(S); signal(S);endif signal(T); elsewait(R); signal(R);

endifwait(T);signal(R);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 0 e T = 1, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 4

[B] x = 1

[C] x = 3

[D] x = 2

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il significativo overhrad associato alla tecnica del compattamento usata per ridurre il prob-lema della frammentazione esterna, rende tale tecnica poco adatta per un utilizzo neisistemi operativi real-time.

b) In un sistema operativo che gestisce la memoria centrale mediante partizioni fisse, i registrichiamati base e limit vengono utilizzati per decidere in quale partizione allocare i processi.

36

[A] entrambe false

[B] a) vera ; b) falsa

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 8:

Sia dato un sistema che gestisce una memoria di 5120 byte mediante partizioni variabili. Sisupponga che nella memoria siano gia presenti 5 processi di dimensioni 740, 875, 250, 1450 e490 byte rispettivamente allocati negli indirizzi fisici 2048, 3072, 2788, 0 e 4096. Si determinil’indirizzo in cui verra allocato un ulteriore processo di 389 byte mediante la tecnica del bestfit.

[A] 4586

[B] 1450

[C] 3038

[D] 3947

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 1, 2, 341 >

[A] 1877

[B] 6997

[C] 5461

[D] 3413

37

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A e B, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[1024], B[2][512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N/2; j++){B[i][2*j] = A[i*N+j] + A[i*N+2*j];

} }

[A] 10

[B] 8

[C] 11

[D] 12

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Se determini il numero di pagefaults per la squenza di riferimenti alle pagine:

3, 2, 3, 4, 3, 1, 5, 1, 4, 1, 2, 3, 6, 7, 3

[A] 9

[B] 8

[C] 10

[D] 7

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 70 e in coda ci sono richieste per letracce (55; 62; 65; 95; 97; 105). Successivamente arrivano altre richieste all’istante t=7 per latraccia 71 e all’istante t=50 per la traccia 63. Si calcoli il tempo di ricerca complessivo in msper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

38

[A] 97

[B] 65

[C] 121

[D] 107

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) La motivazione originale per l’introduzione dei sistemi RAID e stata l’osservazione che lavelocita di trasferimento cresceva ad un tasso molto inferiore a quello della crescita siadella capacita dei dischi sia della potenza di elaborazione delle CPU.

b) L’algorimo di scheduling del disco First Come First Served tende ad avere una accettabilevarianza dei tempi di risposta a spese del numero di richieste servite per unita di tempo.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 14:

Si consideri un disco che opera a 12000 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 1024 byte ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 32000 KB/sec

[B] circa 16000 KB/sec

[C] circa 9600 KB/sec

[D] circa 8000 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Lo schema di allocazione basato sulla File Allocation Table (FAT) di Microsoft e unoschema che, con poca richiesta di memoria (necessaria solo per la tabella) e con pochiacccessi al disco assicura una gestione efficiente del file system anche se di grandi di-mensioni. Per tale motivo e ancora alla base di tutti i file system dei sistemi operativiMicrosoft.

39

b) Se il numero di blocchi usati in un file system e molto elevato, la memoria richiesta perla gestione dei blocchi liberi mediante lista concatenata puo essere inferiore a quellarichiesta dalla bitmap, nonostante quest’ultima usi solo un bit per blocco.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 16:

Sia dato un file system che gestisca blocchi da 256 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 7 puntatori diretti a blocchi di dati

• 3 puntatori indiretti a blocchi di dati

[A] 50944 byte

[B] 266240 byte

[C] 330240 byte

[D] 67584 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 35, allora per cancellare il 60-mo recordsono necessari 25 accessi in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 25 in scrittura.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

40

================================================== compito N. 5 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

41

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 6 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) L’ordine delle attivita’ di un sistema operativo e’ determinato da eventi che possono esseregenerati da dispositivi hardware, da errori in un programma in esecuzione oppure da unarichiesta specifica di un programma che intende accedere ai servizi del sistema operativostesso mediante chiamate di sistema.

b) Le routine di servizio relative ai differenti eventi di cui alla affermazione a) sono eseguitesempre in modalita’ sistema, anche nel caso di programmi utente che intendono accedereai servizi del sistema operativo attraverso le chiamate di sistema.

[A] entrambe false

[B] a) vera ; b) falsa

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il meccanismo piu utilizzato dai sistemi operativi per impedire che un processo possamonopolizzare l’uso della CPU consiste nell’assegnare ai processi un numero massimo diistruzioni da eseguire.

b) Quando un processo viene rimosso dalla CPU perchee e scaduto il suo quanto di tempo,viene inserito sempre nella coda dei processi in attesa (waiting queue). Il processo vienerimosso da tale coda solo al momento di tornare in esecuzione

[A] entrambe vere

[B] entrambe false

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

42

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i > 1) exit(0);

}exit(0);}

[A] 12

[B] 9

[C] 8

[D] 10

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 0 2P3 3 4P4 5 6P5 9 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 7

[B] 8

[C] 7.5

[D] 8.5

43

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 1 4P3 3 6P4 7 2P5 9 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 12.6

[B] 13.2

[C] 13.0

[D] 12.8

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x-5; x = x+2; x = x+3;signal(T); if(x >= 5)then if(x==1)thenwait(R); signal(T); signal(R);signal(S); else endif

signal(R); wait(T);endifwait(S);signal(T);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 1 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 4

[B] x = 1

[C] x = 2

[D] x = 3

44

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale vantaggio dell’introduzione dei meccanismi di memoria virtuale (sia paginatache segmentata) e l’eliminazione del problema della frammentazione.

b) Si consideri un sistema con memoria virtuale che rappresenti un indirizzo virtuale v medi-ante la coppia (b, d) usando 32 bit. Se il numero di pagina b e specificato usando n = 20bit, allora la dimensione delle pagine e di 4096 byte.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe false

[D] entrambe vere

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 6 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 2530,1840, 785, 3421, 2013 KByte.

[A] 15360 KByte

[B] 19456 KByte

[C] 17408 KByte

[D] 21540 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 0, 3, 408 >

45

[A] 1944

[B] 7803

[C] 6267

[D] 4731

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[512], B[2][256], C[2][512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i][2*j] = A[i*N+j] + B[i][j];

} }

[A] 12

[B] 8

[C] 10

[D] 11

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out con seconda chance, che assegna ad ogni processo 5 frame. Se determini il numerodi page faults per la squenza di riferimenti alle pagine:

1, 2, 3, 1, 4, 5, 2, 6, 7, 1, 2, 5, 3, 2, 1

[A] 9

[B] 10

[C] 7

[D] 8

46

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richieste per letracce (40; 65; 90; 120; 145; 125). Successivamente arrivano altre richieste all’istante t=30 perla traccia 95 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricerca complessivoper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

[A] 165

[B] 215

[C] 185

[D] 210

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un problema frequente nell’algoritmo First Come First Served (FCFS) di scheduling deldisco e la posticipazione indefinita di alcune richieste di servizio.

b) La latenza rotazionale e identica per ogni accesso al disco.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 14:

Si consideri un disco che opera a 7200 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 512 bytes ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 13400 KB/sec

[B] circa 19200 KB/sec

[C] circa 9600 KB/sec

[D] circa 4800 KB/sec

47

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale vantaggio dello schema di allocazione di file con lista concatenata e l’elevataefficienza nella ricerca dei blocchi, poiche sono noti numerosi algoritmi efficienti per lagestione delle liste.

b) La File Allocation Table (FAT) di Microsoft e uno speciale schema di allocazione dei filesu disco che rientra tra le tecniche di allocazione dei file in blocchi contigui.

[A] a) falsa ; b) vera

[B] entrambe false

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 16:

Sia dato un file system di 8 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 1024 byte.

[A] 13 KB

[B] 12 KB

[C] 104 KB

[D] 64 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 35, allora per cancellare il 60-mo recordsono necessari 25 accessi in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 25 in scrittura.

[A] entrambe false

48

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

49

================================================== compito N. 6 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

50

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 7 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno degli scopi principali delle chiamate di sistema e’ quello di fornire ai programmi deimetodi di accesso diretto alle funzionalita’ del sistema operativo in maniera protetta.

b) Poiche’ le chiamate di sistema sono l’unico modo con cui un processo utente puo’ accedereai servizi del sistema operativo, il relativo codice e’ eseguito in modalita’ utente

[A] a) falsa ; b) vera

[B] entrambe false

[C] entrambe vere

[D] a) vera ; b) falsa

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) L’insieme delle informazioni che caratterizzano un processo in esecuzione e che sono mem-orizzate nel Process Control Block e chiamato contesto. Per tale motivo la proceura chesospende un processo in esecuzione per mandarne un altro e detta cambio di contesto(context switch).

b) Il tempo medio di esecuzione di un insieme di processi di un sistema operativo time sharingdiminuisce sempre quando aumenta la frequenza dei context switch, in quanto i processiin esecuzione si avvicendano piu rapidemente nell’uso della CPU.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

51

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i == 2) exit(0);

}exit(0);}

[A] 8

[B] 10

[C] 14

[D] 12

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 1 7 2P2 2 5 4P3 6 4 5P4 7 7 1P5 10 2 3

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 11.2

[B] 10.6

[C] 11

[D] 10.4

domanda N. 5:

52

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 1 4P3 3 6P4 7 2P5 9 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 13.0

[B] 12.8

[C] 12.6

[D] 13.2

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x+2; x = x*2; x = x+1;if (x > 0) then signal(T); signal(S);

x = -1; wait(S); wait(T)endif x = -x; x = x+1print x; signal(R); signal(S);

Si determini l’output del processo P1 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente R = 0, S = 0, T = 1.

[A] -2

[B] -1

[C] -3

[D] -4

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

53

a) Il tempo necessario a prelevare un dato dalla memoria in un sistema operativo che usa lamemoria virtuale e lo stesso di un sistema operativo che non ne fa uso.

b) Sia dato un processo di 6 pagine, in un sistema che assegna 5 frame ad ogni processo. Sel’esecuzione di tale processo richiede 15 riferimenti in memoria, l’algoritmo di paginazioneFIFO richiede almeno 6 page faults.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 7 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 2343,1724, 489, 1270, 2110 KByte.

[A] 15360 KByte

[B] 19456 KByte

[C] 21504 KByte

[D] 16384 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

[A] 9218

[B] 14850

54

[C] 3070

[D] 6146

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){B[j/2 + i*256] = A[i][j] + C[j];

} }

[A] 12

[B] 8

[C] 11

[D] 10

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out con seconda chance, che assegna ad ogni processo 5 frame. Se determini il numerodi page faults per la squenza di riferimenti alle pagine:

7, 6, 5, 7, 4, 3, 6, 2, 1, 7, 6, 3, 5, 4, 7

[A] 8

[B] 10

[C] 7

[D] 9

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 il sistema

55

operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richieste per le tracce(10; 30; 55; 80; 92; 130). Successivamente arrivano altre richieste all’istante t=40 per la traccia50 e all’istante t=100 per la traccia 15. Si calcoli il tempo di ricerca complessivo per serviretutte le richieste secondo la politica LOOK, iniziando in ordine discendente e trascurando lalatenza rotazionale e il tempo di trasferimento.

[A] 110

[B] 215

[C] 285

[D] 325

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le tecniche di ottimizzazione rotazionale del disco hanno avuto una importanza crescentenegli ultimi anni perche i moderni dischi rigidi esibiscono tempi di seek e latenze mediedello stesso ordine di grandezza.

b) Il livello RAID 1 e il migliore per ambienti in cui l’affidabilita ha una priorita superiore alcosto o alle prestazioni.

[A] entrambe vere

[B] entrambe false

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 5 con 5 dischi, se il MeanTime to Failure (MTF) e di 1600 giorni e il Mean Time to Repair (MTR) e di 23.04 giorni.

[A] 0.0002

[B] 0.00003

[C] 0.00011

[D] 0.00009

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

56

a) Un vantaggio dello schema di allocazione contigua di file in un file system e la velocita diaccesso poiche non si devono effettuare ulteriori operazioni di ricerche dei blocchi dopoaver individuato il primo blocco

b) Un problema nella prima versione della File Allocation Table di Microsoft (FAT12) era laframmentazione interna per i dischi di grandi dimensioni. Tale problema sussiste anchecon le nuove versioni FAT16 e FAT32, per cui esse vengono oramai utilizzate solo per ifile systen dei floppy disk.

[A] entrambe false

[B] entrambe vere

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 16:

Sia dato un file system che gestisca blocchi da 256 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 7 puntatori diretti a blocchi di dati

• 3 puntatori indiretti a blocchi di dati

[A] 67584 byte

[B] 50944 byte

[C] 266240 byte

[D] 330240 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 25, allora per cancellare il 60-mo recordsono necessari 35 accessi in lettura e 35 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 1 in scrittura.

[A] entrambe false

57

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe vere

58

================================================== compito N. 7 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

59

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 8 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Per motivi di sicurezza, le seguenti istruzioni dovrebbero essere sempre eseguite in modalitasistema: lettura del clock di sistema, disabilitazione delle interruzioni, switch dallamodalita utente a quella di sistema, accesso ai dispositivi di I/O.

b) La principale difficolta nello sviluppo di un sistema operativo real time e garantire che iprocessi terminino la loro esecuzione in un fissato intervallo di tempo. In tal senso unruolo chiave e svolto dallo scheduler.

[A] entrambe vere

[B] entrambe false

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il sistema operativo accede molto spesso ai Process Control Blocks. Di conseguenza moltiprocessori possiedono un registro hardware che fa riferimento al PCB del processo inesecuzione in modo da facilitare il cambio di contesto.

b) Una delle operazioni che un processo puo’ effettuare quando riceve un segnale e di ignorarlo.Con tale termine si intende la capacita di redirigere il segnale ad un altro processo.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

60

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i > 2) exit(0);

}exit(0);}

[A] 16

[B] 9

[C] 8

[D] 10

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 0 6 3P2 3 4 5P3 4 6 4P4 11 2 5P5 14 4 1

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 8.8

[B] 8.6

[C] 8.2

[D] 8.4

domanda N. 5:

61

Sia dato il seguente insieme di processi:

TA TC

P1 0 7P2 1 7P3 7 7P4 11 3P5 13 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 15

[B] 14.6

[C] 14.4

[D] 14.8

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T);x = x+2; x = x+4; x = x-5;if(x >= 4)then if(x==1)then signal(S);signal(S); signal(T); wait(T);

else endif signal(R);signal(T); wait(S);

endifwait(R);signal(S);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 1,S = 0 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 2

[B] x = 0

[C] x = 1

[D] x = 3

62

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) I semafori possono essere usati in sistemi con allocazione contigua della memoria per evitareche i processi effetuino accessi illegali (ad esempio all’area di memoria assegnata alsistema operativo).

b) Per limitare il problema della frammentazione esterna, la tecnica del compattamento uniscebuchi adiacenti in memoria, mentre la tecnica della coalescenza rialloca i processi in ese-cuzione in maniera contigua in maniera da creare un unico spazio di memoria disponibileper i nuovi processi.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 8:

Sia dato un sistema che gestisce una memoria di 5120 byte mediante partizioni variabili. Sisupponga che nella memoria siano gia presenti 5 processi di dimensioni 740, 875, 250, 1450 e490 byte allocati rispettivamente a partire dagli indirizzi fisici 2048, 3072, 2788, 0 e 4096. Sidetermini l’indirizzo in cui verra allocato un ulteriore processo di 389 byte mediante la tecnicadel worst fit.

[A] 3038

[B] 3947

[C] 1450

[D] 4586

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

63

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

[A] 13826

[B] 5118

[C] 10241

[D] 5634

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[512], B[256], C[2][512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i][2*j] = A[i*N+j] + B[j];

} }

[A] 11

[B] 10

[C] 8

[D] 12

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo del Work-ing Set con dimensione della finestra di osservazione w = 6. Si determini, a partire dall’istantet = 6, il minimo e massimo numero di frame che il sistema assegna ad un processo di 6 pagineche vengono referenziate nel seguente ordine:

4, 2, 1, 1, 6, 6, 4, 1, 1, 6, 5, 6, 3, 5, 3, 5, 4, 3, 2, 6, 5, 2, 3, 2, 1

[A] min=2, max=5

[B] min=2, max=4

[C] min=3, max=4

64

[D] min=3, max=5

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richieste per letracce (40; 65; 90; 120; 145; 125). Successivamente arrivano altre richieste all’istante t=30 perla traccia 95 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricerca complessivoper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

[A] 185

[B] 210

[C] 165

[D] 215

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale motivo per cui l’algoritmo di scheduling del disco Shortest Seek Time First epoco utilizzato nei sistemi di tipo generale e la possibilita di posticipazione indefinita dialcune richieste.

b) Uno dei parametri per la valutazione delle strategie di scheduling del disco e la varianzadei tempi di risposta che e una misura del numero di richieste servite per unita di tempo

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 14:

Si consideri un disco che opera a 12000 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 1024 byte ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 32000 KB/sec

[B] circa 16000 KB/sec

65

[C] circa 9600 KB/sec

[D] circa 8000 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale vantaggio dello schema di allocazione di file con lista concatenata e l’elevataefficienza nella ricerca dei blocchi, poiche sono noti numerosi algoritmi efficienti per lagestione delle liste.

b) La File Allocation Table (FAT) di Microsoft e uno speciale schema di allocazione dei filesu disco che rientra tra le tecniche di allocazione dei file in blocchi contigui.

[A] entrambe false

[B] a) vera ; b) falsa

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 16:

Sia dato un file system che gestisca blocchi da 1024 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 9 puntatori diretti a blocchi di dati

• 1 puntatori indiretti a blocchi di dati

[A] 330240 byte

[B] 271360 byte

[C] 50944 byte

[D] 266240 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 50-mo record sono necessari 1accesso in lettura e 1 in scrittura.

66

b) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 15, allora per cancellare il 65-mo recordsono necessari 50 accessi in lettura e 50 in scrittura.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

67

================================================== compito N. 8 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

68

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 9 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il livello software che contiene le componenti fondamentali di un sistema operativo e’ chiam-ato kernel. Al kernel appartengono i moduli per: la gestione della memoria centrale, ilcontrollo dei processi, la gestione dell’I/O e la gestione della memoria secondaria. Aquesto elenco di componenti fondamentali del kernel va aggiunto solo il sottosistema perla gestione delle interfacce grafiche e per l’interprete del linguaggio di comando.

b) I sistemi operativi hanno lo scopo primario di permettere alle applicazioni software diinteragire con l’hardware sottostante, e di gestire le risorse hardware e software delsistema in maniera efficiente.

[A] entrambe false

[B] entrambe vere

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le prestazioni di una qualunque applicazione multithreading e sempre piu’ efficiente nelcaso di una implementazione dei thread utente secondo il modello molti a uno rispettoad una implementazione secondo il modello uno a uno. Cio e’ dovuto al fatto che con ilmodello molti a uno, i thread a livello utente non richiamano il kernel per le operazionidi scheduling e sincronizzazione.

b) Uno svantaggio dell’implementazione dei threads secondo il modello uno a uno e la scarsaportabilita delle applicazioni, in quanto esse devono interfacciarsi direttamente con lechiamate di sistema relative al sistema operativo su cui deve essere eseguita l’applicazione.I sistemi operativi conformi ad interfacce standard, ad esempio POSIX, riducono il prob-lema.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

69

[D] a) falsa ; b) vera

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i <= 1) exit(0);

}exit(0);}

[A] 6

[B] 9

[C] 8

[D] 10

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 0 2P3 3 4P4 5 6P5 9 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 8.5

[B] 7

[C] 8

[D] 7.5

70

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 3 6P3 5 8P4 9 4P5 11 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 16.2

[B] 16.4

[C] 16.6

[D] 16

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x+2; x = x*2; x = x+1;if (x > 0) then signal(T); signal(S);

x = -1; wait(S); wait(T)endif x = -x; x = x+1print x; signal(R); signal(S);

Si determini l’output del processo P1 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente R = 0, S = 0, T = 1.

[A] -1

[B] -3

[C] -4

[D] -2

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

71

a) Il tempo necessario a prelevare un dato dalla memoria in un sistema operativo che usa lamemoria virtuale e lo stesso di un sistema operativo che non ne fa uso.

b) Sia dato un processo di 6 pagine, in un sistema che assegna 5 frame ad ogni processo. Sel’esecuzione di tale processo richiede 15 riferimenti in memoria, l’algoritmo di paginazioneFIFO richiede almeno 6 page faults.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 7 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 2343,1724, 489, 1270, 2110 KByte.

[A] 16384 KByte

[B] 15360 KByte

[C] 19456 KByte

[D] 21504 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

[A] 10754

[B] 12802

72

[C] 5122

[D] 13314

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){B[j/2 + i*256] = A[i][j] + C[j];

} }

[A] 10

[B] 12

[C] 8

[D] 11

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out con seconda chance, che assegna ad ogni processo 5 frame. Se determini il numerodi page faults per la squenza di riferimenti alle pagine:

5, 4, 3, 5, 2, 1, 4, 6, 3, 5, 2, 5, 3, 1, 2

[A] 8

[B] 7

[C] 9

[D] 10

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 il sistema

73

operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richieste per le tracce(10; 30; 55; 80; 92; 130). Successivamente arrivano altre richieste all’istante t=40 per la traccia50 e all’istante t=100 per la traccia 15. Si calcoli il tempo di ricerca complessivo per serviretutte le richieste secondo la politica LOOK, iniziando in ordine discendente e trascurando lalatenza rotazionale e il tempo di trasferimento.

[A] 325

[B] 110

[C] 215

[D] 285

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale motivo per cui l’algoritmo di scheduling del disco Shortest Seek Time First epoco utilizzato nei sistemi di tipo generale e la possibilita di posticipazione indefinita dialcune richieste.

b) Uno dei parametri per la valutazione delle strategie di scheduling del disco e la varianzadei tempi di risposta che e una misura del numero di richieste servite per unita di tempo

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 1 con 6 dischi, se il MeanTime to Failure (MTF) e di 1300 giorni e il Mean Time to Repair (MTR) e di 16.9 giorni.

[A] 0.00003

[B] 0.00009

[C] 0.00001

[D] 0.00011

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

74

a) Un modo per risolvere il problema dei numerosi accessi al disco con lo schema di allocazionedei file a lista concatenata e l’utilizzo di blocchi molto grandi. Con tale modifica si ottieneuno schema senza grossi inconvenienti legati alla gestione del disco, che e utilizzato innumerosi sistemi come, ad esempio, Solaris 2.

b) Uno svantaggio dello schema di allocazione contigua di file in un file system e la frammen-tazione esterna del disco.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 16:

Sia dato un file system che gestisca blocchi da 256 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 7 puntatori diretti a blocchi di dati

• 3 puntatori indiretti a blocchi di dati

[A] 266240 byte

[B] 330240 byte

[C] 67584 byte

[D] 50944 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 25 allora per cancellare il 70-mo record sono necessari30 accessi in lettura e 30 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 35, allora per cancellare il 75-mo recordsono necessari 40 accessi in lettura e 1 in scrittura.

[A] a) vera ; b) falsa

75

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

76

================================================== compito N. 9 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

77

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 10 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) La principale differenza tra un sistema operativo con architettura a strati ed uno con ar-chitettura a microkernel e che nel primo caso e consentita la comunicazione solo tramoduli appartenenti a strati adiacenti, mentre nel secondo caso e consentita la comuni-cazione attraverso tutti i moduli del sistema attraverso il kernel.

b) Per tolleranza ai guasti si intendela capacita di un sisietam operativo di correggere eventualierrori delle applicazioni degli utenti.

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe vere

[D] entrambe false

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il meccanismo piu utilizzato dai sistemi operativi per impedire che un processo possamonopolizzare l’uso della CPU consiste nell’assegnare ai processi un numero massimo diistruzioni da eseguire.

b) Quando un processo viene rimosso dalla CPU perchee e scaduto il suo quanto di tempo,viene inserito sempre nella coda dei processi in attesa (waiting queue). Il processo vienerimosso da tale coda solo al momento di tornare in esecuzione

[A] entrambe false

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

78

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i <= 1) exit(0);

}exit(0);}

[A] 8

[B] 10

[C] 6

[D] 9

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 1 8P3 4 3P4 9 2P5 12 4

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 10.2

[B] 9.8

[C] 10.0

[D] 10.4

domanda N. 5:

79

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 3 6P3 5 6P4 9 4P5 13 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 18.8

[B] 17.6

[C] 18.0

[D] 18.4

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = -x; x = x-1; x = x+1;signal(S); if (x > 0) then signal(R);wait(R); x = x-1; wait(T);x = -x; signal(T); print x;signal(T); else

signal(R);endif

Si determini l’output del processo P3 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente S = 0, R = 0, T = 1.

[A] 5

[B] 6

[C] 3

[D] 4

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

80

a) Nei moderni sistemi operativi le tecniche di gestione della memoria centrale sono pocoimportanti a causa del basso costo economico delle stesse.

b) Andando dai livelli di memoria piu bassi (dispositivi secondari e terziari) a quelli piu alti(registri e cache), il costo economico per bit aumenta.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 190 ns e che il tempo di accesso airegistri TLB richieda 25 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 272 ns.

[A] 76.6666%

[B] 68%

[C] 70%

[D] 73.5%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 0, 3, 408 >

[A] 6267

[B] 4731

[C] 1944

81

[D] 7803

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A e B, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[1024], B[2][512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N/2; j++){B[i][2*j] = A[i*N+j] + A[i*N+2*j];

} }

[A] 11

[B] 12

[C] 10

[D] 8

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Se determini il numero di pagefaults per la squenza di riferimenti alle pagine:

5, 3, 2, 5, 2, 4, 1, 6, 4, 1, 3, 7, 4, 6, 2

[A] 8

[B] 10

[C] 7

[D] 9

domanda N. 12:

Sia dato un disco con 2000 tracce. Una operazione di lettura di un blocco richiede 3 msper lo spostamento tra due tracce adiacenti, 5 ms per la latenza rotazionale e 10 ms per iltrasferimento di un blocco di dati. Si calcoli il tempo necessario per leggere un file costituitoda 45 blocchi nel caso in cui questi ultimi siano distanti mediamente 15 tracce l’uno dall’altro.

82

[A] 12.15 sec

[B] 2.04 sec

[C] 8.44 sec

[D] 2.7 sec

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un problema frequente nell’algoritmo First Come First Served (FCFS) di scheduling deldisco e la posticipazione indefinita di alcune richieste di servizio.

b) La latenza rotazionale e identica per ogni accesso al disco.

[A] entrambe false

[B] a) vera ; b) falsa

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 14:

Si consideri un disco che opera a 12000 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 512 bytes ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 8000 KB/sec

[B] circa 19200 KB/sec

[C] circa 16000 KB/sec

[D] circa 9600 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Rispetto allo schema di allocazione dei file con lista concatenata, il principale vantaggiodella allocazione indicizzata dei file in un file system e la possibilita di effettuare laricerca nel solo blocco indice, migliorando enormemente i tempi di attraversamento delfile.

83

b) Lo schema di gestione dei blocchi liberi basato sulla bitmap introduce sempre un minorsovraccarico di memoria rispetto alla lista dei blocchi liberi, poiche mediante la bitmapviene utilizzato un solo bit per blocco, mentre la lista richiede l’indice del blocco chepuo’ essere grande 16 o 32 bit.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] a) falsa ; b) vera

[D] entrambe false

domanda N. 16:

Sia dato un file system che gestisca blocchi da 256 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 7 puntatori diretti a blocchi di dati

• 3 puntatori indiretti a blocchi di dati

[A] 50944 byte

[B] 266240 byte

[C] 330240 byte

[D] 67584 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 25, allora per cancellare il 60-mo recordsono necessari 35 accessi in lettura e 35 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 1 in scrittura.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] entrambe false

[D] a) falsa ; b) vera

84

================================================== compito N. 10 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

85

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 11 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno dei vantaggi delle macchine virtuali e’ la possibilita’ di creare ambienti di elaborazionecompletamente separati, permettendo una protezione efficace delle risorse del sistemaoperativo e dei programmi tra loro.

b) Uno dei vantaggi delle macchine virtuali e’ la loro facile realizzazione, in quanto e’ suf-ficiente replicare una copia di un sistema operativo monoutente in piu’ partizioni deldisco, dando cosi’ ad ogni utente l’illusione di essere l’unico utente del sistema.

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe false

[D] entrambe vere

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) In ogni sistema operativo e presente una tabella (chiamata tabella dei processi o ProcessControl Block = PCB) che tiene traccia di tutti i processi in esecuzione. In tale tabellae memorizzato per ogni processo in esecuzione un identificativo di processo (pid), unpuntatore alla memoria dove sono stati memorizzati il codice e l’area dati, nonche’ tuttele informazioni necessarie per effettuare correttamente il cambio di contesto.

b) Pur avendo alcuni campi sempre presenti in tutti i sistemi operativi, la struttura generaledel PCB dipende dalla implementazione del sistema operativo.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe false

[D] entrambe vere

86

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i == 1) exit(0);

}exit(0);}

[A] 10

[B] 6

[C] 8

[D] 9

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 12P2 2 3P3 6 3P4 11 6P5 14 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 7.8

[B] 8.4

[C] 8.2

[D] 8.0

87

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 7P2 1 7P3 7 7P4 11 3P5 13 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 14.8

[B] 15

[C] 14.6

[D] 14.4

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x-5; x = x+2; x = x+3;signal(T); if(x >= 3)then if(x==1)thenwait(R); signal(R); signal(R);signal(S); else endif

signal(T); wait(T);endifwait(S);signal(T);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 1 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 1

[B] x = −1

[C] x = 0

[D] x = 2

88

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) I semafori possono essere usati in sistemi con allocazione contigua della memoria per evitareche i processi effetuino accessi illegali (ad esempio all’area di memoria assegnata alsistema operativo).

b) Per limitare il problema della frammentazione esterna, la tecnica del compattamento uniscebuchi adiacenti in memoria, mentre la tecnica della coalescenza rialloca i processi in ese-cuzione in maniera contigua in maniera da creare un unico spazio di memoria disponibileper i nuovi processi.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 7 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 1229, 341,2831, 1710, 2116 KByte.

[A] 15360 KByte

[B] 19456 KByte

[C] 21540 KByte

[D] 15872 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 3, 3, 123 >

89

[A] 2171

[B] 7291

[C] 7803

[D] 635

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){B[j/2 + i*256] = A[i][j] + C[j];

} }

[A] 10

[B] 12

[C] 8

[D] 11

domanda N. 11:

Si consideri un sistema opereativo con paginazione su richiesta basato sull’algoritmo FIFO conseconda chance, che assegna ad ogni processo 5 frame. Si determini il numero di page faultsper la seguente sequenza di riferimenti alle pagine:

7, 4, 5, 7, 3, 6, 4, 1, 2, 7, 4, 6, 5, 4, 7

[A] 9

[B] 10

[C] 7

[D] 8

90

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 50 e in coda ci sono richieste per letracce (58; 15; 23; 25; 65; 55). Successivamente arrivano altre richieste all’istante t=7 per latraccia 49 e all’istante t=50 per la traccia 57. Si calcoli il tempo di ricerca complessivo perservire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurando lalatenza rotazionale e il tempo di trasferimento.

[A] 98

[B] 107

[C] 65

[D] 117

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le tecniche di ottimizzazione rotazionale del disco hanno avuto una importanza crescentenegli ultimi anni perche i moderni dischi rigidi esibiscono tempi di seek e latenze mediedello stesso ordine di grandezza.

b) Il livello RAID 1 e il migliore per ambienti in cui l’affidabilita ha una priorita superiore alcosto o alle prestazioni.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 5 con 5 dischi, se il MeanTime to Failure (MTF) e di 1600 giorni e il Mean Time to Repair (MTR) e di 23.04 giorni.

[A] 0.0002

[B] 0.00003

[C] 0.00011

[D] 0.00009

91

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un modo per risolvere il problema dei numerosi accessi al disco con lo schema di allocazionedei file a lista concatenata e l’utilizzo di blocchi molto grandi. Con tale modifica si ottieneuno schema senza grossi inconvenienti legati alla gestione del disco, che e utilizzato innumerosi sistemi come, ad esempio, Solaris 2.

b) Uno svantaggio dello schema di allocazione contigua di file in un file system e la frammen-tazione esterna del disco.

[A] entrambe vere

[B] entrambe false

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 16:

Sia dato un file system che gestisca blocchi da 1024 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 9 puntatori diretti a blocchi di dati

• 1 puntatori indiretti a blocchi di dati

[A] 266240 byte

[B] 330240 byte

[C] 271360 byte

[D] 50944 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 50-mo record sono necessari 1accesso in lettura e 1 in scrittura.

92

b) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 15, allora per cancellare il 65-mo recordsono necessari 50 accessi in lettura e 50 in scrittura.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

93

================================================== compito N. 11 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

94

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 12 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Per motivi di sicurezza, le seguenti istruzioni dovrebbero essere sempre eseguite in modalitasistema: lettura del clock di sistema, disabilitazione delle interruzioni, switch dallamodalita utente a quella di sistema, accesso ai dispositivi di I/O.

b) La principale difficolta nello sviluppo di un sistema operativo real time e garantire che iprocessi terminino la loro esecuzione in un fissato intervallo di tempo. In tal senso unruolo chiave e svolto dallo scheduler.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il compito principale dello scheduler a lungo termine (anche detto job scheduler) e deter-minare l’ordine con cui i processi accedono alla CPU.

b) L’insieme dei processi che attendono il proprio turno per accedere alla CPU sono organiz-zati in una struttura dati chiamata coda dei processi in attesa (waiting queue).

[A] entrambe vere

[B] entrambe false

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:

95

main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i == 1) exit(0);

}exit(0);}

[A] 9

[B] 10

[C] 6

[D] 8

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 12P2 2 3P3 6 3P4 11 6P5 14 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 8.2

[B] 8.0

[C] 7.8

[D] 8.4

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 3 6P3 5 8P4 9 4P5 11 2

96

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 16.4

[B] 16.6

[C] 16

[D] 16.2

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x-5; x = x+2; x = x+3;signal(T); if(x >= 3)then if(x==1)thenwait(R); signal(R); signal(R);signal(S); else endif

signal(T); wait(T);endifwait(S);signal(T);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 1 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 1

[B] x = −1

[C] x = 0

[D] x = 2

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Nei moderni sistemi operativi le tecniche di gestione della memoria centrale sono pocoimportanti a causa del basso costo economico delle stesse.

b) Andando dai livelli di memoria piu bassi (dispositivi secondari e terziari) a quelli piu alti(registri e cache), il costo economico per bit aumenta.

97

[A] a) falsa ; b) vera

[B] entrambe vere

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 7 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 1229, 341,2831, 1710, 2116 KByte.

[A] 21540 KByte

[B] 15872 KByte

[C] 15360 KByte

[D] 19456 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 1, 2, 341 >

[A] 5461

[B] 3413

[C] 1877

[D] 6997

domanda N. 10:

98

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[2][256], C[512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i*N+j] = A[i][2*j] + B[i][j];

} }

[A] 12

[B] 8

[C] 10

[D] 11

domanda N. 11:

Si consideri un sistema opereativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Si determini il numero di pagefaults per la seguente sequenza di riferimenti alle pagine:

4, 2, 7, 4, 7, 1, 5, 3, 1, 6, 5, 2, 6, 1, 3, 7

[A] 10

[B] 7

[C] 9

[D] 8

domanda N. 12:

Sia dato un disco con 2000 tracce. Una operazione di lettura di un blocco richiede 3 msper lo spostamento tra due tracce adiacenti, 5 ms per la latenza rotazionale e 10 ms per iltrasferimento di un blocco di dati. Si calcoli il tempo necessario per leggere un file costituitoda 45 blocchi nel caso in cui questi ultimi siano distanti mediamente 15 tracce l’uno dall’altro.

[A] 2.7 sec

[B] 12.15 sec

99

[C] 2.04 sec

[D] 8.44 sec

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale problema dei livelli 3 e 4 dei sistemi RAID che li rende meno preferibili rispettoal livello 5 e la necessita della generazione della parita, che comporta un supplemento dioverhead.

b) Utilizzando un disco con 7 ms di tempo di seek, 10 msec di latenza media rotazionale etempo di trasferimento di 20 msec, il tempo necessario per trasferire in memoria centraleun file composto da 15 blocchi, distanti mediamente 10 tracce, e di 1.5 secondi esatti.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe false

[D] entrambe vere

domanda N. 14:

Si consideri un disco che opera a 7200 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 1024 byte ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 9600 KB/sec

[B] circa 4800 KB/sec

[C] circa 13400 KB/sec

[D] circa 19200 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno dei vantaggi della bitmap rispetto alla lista dei blocchi liberi e la possibilita, per ilsistema, di determinare in maniera efficiente l’esistenza di un certo numero di blocchiliberi contigui.

b) In un file system con struttura gerarchica (ad es. Unix), il nome di un file e formatodall’insieme dei nomi delle directory a partire dalla directory utente fino al file.

100

[A] a) vera ; b) falsa

[B] entrambe false

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 16:

Sia dato un file system che gestisca blocchi da 256 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 7 puntatori diretti a blocchi di dati

• 3 puntatori indiretti a blocchi di dati

[A] 67584 byte

[B] 50944 byte

[C] 266240 byte

[D] 330240 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 60-morecord sono necessari 35 accessi in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 40 in scrittura.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe vere

[D] entrambe false

101

================================================== compito N. 12 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

102

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 13 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) I seguenti sono tutti nomi di sistemi operativi realmente esistiti: Unix, MS-DOS, Solaris,Multics, CTSS, Minix, MacOS, Xenix.

b) Il modulo del sistema operativo che si occupa di determinare quando e per quanto tempoun processo deve accedere alla CPU e chiamato Interprocessor Communication Manager.

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe vere

[D] entrambe false

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale vantaggio nell’uso di due threads cooperanti di uno stesso processo, al postodi due processi distinti e che nel primo caso non e necessario sincronizzare i threads inquanto gia condividono lo spazio di indirizzamento, mentre nel secondo caso e’ necessariol’uso dei semafori.

b) La comunicazione tra threads cooperanti di uno stesso processo e sempre piu efficientedella comunicazione tra processi distinti in quanto i threads possono utilizzare lo spaziodi indirizzamento condiviso senza fare uso degli strumenti di comunicazione tra processigestiti dal kernel.

[A] entrambe vere

[B] entrambe false

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

103

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i < 2) exit(0);

}exit(0);}

[A] 9

[B] 10

[C] 6

[D] 8

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 1 7 2P2 2 5 4P3 6 4 5P4 7 7 1P5 10 2 3

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 10.4

[B] 11.2

[C] 10.6

[D] 11

domanda N. 5:

104

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 3 6P3 5 6P4 9 4P5 13 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 18.0

[B] 18.4

[C] 18.8

[D] 17.6

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x+3; x = x-5; x = x+2;if(x==4)then signal(R); if(x >= 5)then

signal(S); wait(S); signal(S);endif signal(T); elsewait(R); signal(R);

endifwait(T);signal(R);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 0 e T = 1, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 1

[B] x = 3

[C] x = 2

[D] x = 4

105

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) In un sistema operativo con memoria virtuale, una differenza tra indirizzo logico e indirizzofisico e che il primo e generato dalla CPU mentre il secondo e generato dal MemoryManagement Unit (MMU).

b) Uno spazio di indirizzamento di 8 pagine, ognuna di 1024 byte, richiede 13 bit.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe false

[D] entrambe vere

domanda N. 8:

Sia dato un sistema che gestisce una memoria di 5120 byte mediante partizioni variabili. Sisupponga che nella memoria siano gia presenti 5 processi di dimensioni 740, 875, 250, 1450 e490 byte rispettivamente allocati negli indirizzi fisici 2048, 3072, 2788, 0 e 4096. Si determinil’indirizzo in cui verra allocato un ulteriore processo di 389 byte mediante la tecnica del bestfit.

[A] 1450

[B] 3038

[C] 3947

[D] 4586

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 1, 2, 341 >

106

[A] 1877

[B] 6997

[C] 5461

[D] 3413

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[256], C[512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i*N+j] = A[i][2*j] + B[j];

} }

[A] 10

[B] 11

[C] 8

[D] 12

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out con seconda chance, che assegna ad ogni processo 5 frame. Se determini il numerodi page faults per la squenza di riferimenti alle pagine:

1, 2, 3, 1, 4, 5, 2, 6, 7, 1, 2, 5, 3, 2, 1

[A] 8

[B] 9

[C] 10

[D] 7

107

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0il sistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richiesteper le tracce (55; 75; 80; 110; 135; 160). Successivamente arrivano altre richieste all’istantet=30 per la traccia 105 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricercacomplessivo in ms per servire tutte le richieste secondo la politica Shortest Seek Time First(SSTF), trascurando la latenza rotazionale e il tempo di trasferimento.

[A] 180

[B] 210

[C] 205

[D] 155

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le versioni ”circolari” C-SCAN e C-LOOK degli algoritmi di scheduling del disco SCAN eLOOK, nonostante abbiano un overhead maggiore rispetto alle versioni standard SCANe LOOK a causa del ”ritorno a vuoto della testina”, sono particolarmente utili per unsistema di tipo generale poiche hanno tempi di risposta piu omogenei.

b) Negli ultimi anni la capacita dei supporti di memorizzazione secondaria (ad es. i dischi)e aumentata, il tempo di accesso e diminuito mentre il costo per MByte e rimastopressocche costante.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 14:

Si consideri un disco che opera a 7200 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 1024 byte ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 4800 KB/sec

[B] circa 13400 KB/sec

108

[C] circa 19200 KB/sec

[D] circa 9600 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Per motivi di efficienza, la lista dei blocchi liberi e generalmente ordinata secondo l’indicedel blocco.

b) I principali compiti di un file system sono: gestire le strutture logiche del file system(directory e file), organizzare i file in blocchi e gestirne l’allocazione, verificare l’integritadei dati, gestire lo spazio libero e verificare che i dati nei file non contengano errori.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 16:

Sia dato un file system di 8 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 1024 byte.

[A] 12 KB

[B] 104 KB

[C] 64 KB

[D] 13 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 50-morecord e necessario 1 accesso in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 1 in scrittura.

109

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

110

================================================== compito N. 13 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

111

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 14 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un sistema operativo che e in grado di utilizzare in maniera efficiente le risorse che vengonoaggiunte al sistema e detto espandibile.

b) Le chiamate di sistema operano in maniera simile alle interruzioni, nel senso che quandoavviene una chiamata di sistema, il sistema si porta in modalita kernel e serve la richiestamediante una apposita routine di servizio.

[A] entrambe false

[B] a) vera ; b) falsa

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno svantaggio nell’uso dei threads rispetto all’uso di piu processi cooperanti che comuni-cano attraverso una memoria condivisa e la necessita della sincronizzazione.

b) Il meccanismo piu utilizzato dai sistemi operativi di tipo generale per impedire che unprocesso possa monopolizzare l’uso della CPU , consiste nell’assegnare ai processi untempo massimo di utilizzo continuativo della CPU, scaduto il quale il processo vienesospeso.

[A] a) vera ; b) falsa

[B] entrambe false

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

112

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i == 0) exit(0);

}exit(0);}

[A] 8

[B] 10

[C] 9

[D] 6

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 1 8P3 4 3P4 9 2P5 12 4

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 10.2

[B] 9.8

[C] 10.0

[D] 10.4

domanda N. 5:

113

Sia dato il seguente insieme di processi:

TA TC

P1 0 5P2 3 6P3 5 7P4 8 6P5 16 3

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 13.6

[B] 14

[C] 14.2

[D] 13.8

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x-5; x = x+2; x = x+3;signal(T); if(x >= 5)then if(x==1)thenwait(R); signal(T); signal(R);signal(S); else endif

signal(R); wait(T);endifwait(S);signal(T);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 1 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 2

[B] x = 3

[C] x = 4

[D] x = 1

114

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale vantaggio dell’introduzione dei meccanismi di memoria virtuale (sia paginatache segmentata) e l’eliminazione del problema della frammentazione.

b) Si consideri un sistema con memoria virtuale che rappresenti un indirizzo virtuale v medi-ante la coppia (b, d) usando 32 bit. Se il numero di pagina b e specificato usando n = 20bit, allora la dimensione delle pagine e di 4096 byte.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe false

[D] entrambe vere

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 7 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 2343,1724, 489, 1270, 2110 KByte.

[A] 19456 KByte

[B] 21504 KByte

[C] 16384 KByte

[D] 15360 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

115

[A] 14338

[B] 3074

[C] 7666

[D] 11266

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){B[j/2 + i*256] = A[i][j] + C[j];

} }

[A] 8

[B] 11

[C] 10

[D] 12

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo del Work-ing Set con dimensione della finestra di osservazione w = 6. Si determini, a partire dall’istantet = 6, il minimo e massimo numero di frame che il sistema assegna ad un processo di 6 pagineche vengono referenziate nel seguente ordine:

1, 4, 2, 1, 2, 4, 1, 6, 2, 1, 6, 6, 1, 6, 1, 5, 3, 5, 1, 6, 4, 3, 5, 4, 4

[A] min=3, max=5

[B] min=2, max=4

[C] min=3, max=4

[D] min=2, max=5

116

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richieste per letracce (40; 65; 90; 120; 145; 125). Successivamente arrivano altre richieste all’istante t=30 perla traccia 95 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricerca complessivoper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

[A] 215

[B] 185

[C] 210

[D] 165

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale problema dei livelli 3 e 4 dei sistemi RAID che li rende meno preferibili rispettoal livello 5 e la necessita della generazione della parita, che comporta un supplemento dioverhead.

b) Utilizzando un disco con 7 ms di tempo di seek, 10 msec di latenza media rotazionale etempo di trasferimento di 20 msec, il tempo necessario per trasferire in memoria centraleun file composto da 15 blocchi, distanti mediamente 10 tracce, e di 1.5 secondi esatti.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe false

[D] entrambe vere

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 5 con 5 dischi, se il MeanTime to Failure (MTF) e di 1400 giorni e il Mean Time to Repair (MTR) e di 19.6 giorni.

[A] 0.0001

[B] 0.00003

[C] 0.00009

117

[D] 0.00011

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno dei vantaggi della bitmap rispetto alla lista dei blocchi liberi e la possibilita, per ilsistema, di determinare in maniera efficiente l’esistenza di un certo numero di blocchiliberi contigui.

b) In un file system con struttura gerarchica (ad es. Unix), il nome di un file e formatodall’insieme dei nomi delle directory a partire dalla directory utente fino al file.

[A] entrambe false

[B] entrambe vere

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 16:

Sia dato un file system che gestisca blocchi da 512 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 5 puntatori diretti a blocchi di dati

• 5 puntatori indiretti a blocchi di dati

[A] 50944 byte

[B] 330240 byte

[C] 67584 byte

[D] 271360 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 50-morecord e necessario 1 accesso in lettura e 1 in scrittura.

118

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 1 in scrittura.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

119

================================================== compito N. 14 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

120

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 15 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno degli scopi principali delle chiamate di sistema e’ quello di fornire ai programmi deimetodi di accesso diretto alle funzionalita’ del sistema operativo in maniera protetta.

b) Poiche’ le chiamate di sistema sono l’unico modo con cui un processo utente puo’ accedereai servizi del sistema operativo, il relativo codice e’ eseguito in modalita’ utente

[A] entrambe vere

[B] a) vera ; b) falsa

[C] a) falsa ; b) vera

[D] entrambe false

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) L’insieme delle informazioni che caratterizzano un processo in esecuzione e che sono mem-orizzate nel Process Control Block e chiamato contesto. Per tale motivo la proceura chesospende un processo in esecuzione per mandarne un altro e detta cambio di contesto(context switch).

b) Il tempo medio di esecuzione di un insieme di processi di un sistema operativo time sharingdiminuisce sempre quando aumenta la frequenza dei context switch, in quanto i processiin esecuzione si avvicendano piu rapidemente nell’uso della CPU.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

121

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i < 3) exit(0);

}exit(0);}

[A] 5

[B] 9

[C] 6

[D] 8

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 0 6 3P2 3 4 5P3 4 6 4P4 11 2 5P5 14 4 1

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 8.4

[B] 8.8

[C] 8.6

[D] 8.2

domanda N. 5:

122

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 3 6P3 5 6P4 9 4P5 13 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 18.8

[B] 17.6

[C] 18.0

[D] 18.4

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x-5; x = x+2; x = x+3;signal(T); if(x >= 3)then if(x==1)thenwait(R); signal(R); signal(R);signal(S); else endif

signal(T); wait(T);endifwait(S);signal(T);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 1 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 0

[B] x = 2

[C] x = 1

[D] x = −1

123

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) In generale, nel caso di gestione della memoria mediante paginazione, il problema dellaframmentazione aumenta col cresere della dimensione delle pagine.

b) La segmentazione e uno schema di gestione della memoria in cui un programma e divisoin moduli della stessa dimensione (i segmenti) che sono poi allocati in frame di memorialiberi.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe false

[D] entrambe vere

domanda N. 8:

Sia dato un sistema che gestisce una memoria di 5120 byte mediante partizioni variabili. Sisupponga che nella memoria siano gia presenti 5 processi di dimensioni 740, 875, 250, 1450 e490 byte rispettivamente allocati negli indirizzi fisici 2048, 3072, 2788, 0 e 4096. Si determinil’indirizzo in cui verra allocato un ulteriore processo di 389 byte mediante la tecnica del bestfit.

[A] 4586

[B] 1450

[C] 3038

[D] 3947

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

124

[A] 3070

[B] 6146

[C] 9218

[D] 14850

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[512], B[2][256], C[2][512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i][2*j] = A[i*N+j] + B[i][j];

} }

[A] 8

[B] 10

[C] 11

[D] 12

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Se determini il numero di pagefaults per la squenza di riferimenti alle pagine:

5, 3, 2, 5, 2, 4, 1, 6, 4, 1, 3, 7, 4, 6, 2

[A] 10

[B] 7

[C] 9

[D] 8

125

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 70 e in coda ci sono richieste per letracce (55; 62; 65; 95; 97; 105). Successivamente arrivano altre richieste all’istante t=7 per latraccia 71 e all’istante t=50 per la traccia 63. Si calcoli il tempo di ricerca complessivo in msper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

[A] 97

[B] 65

[C] 121

[D] 107

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Con un carico del disco pesante, la politica di scheduling SCAN andrebbe sempre preferitaalla politica C-SCAN a causa dell’overhead del ”ritorno a vuoto” della testina che inquesto caso diventa ancora piu significativo.

b) Il livello RAID con il piu alto overhead di memoria secondaria e il livello 5, a causa dellospazio utilizzato per la gestione delle informazioni relative alla parita.

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe false

[D] entrambe vere

domanda N. 14:

Si consideri un disco che opera a 12000 rpm (giri al minuto), dove ogni traccia e composta da80 settori di 512 bytes ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 8000 KB/sec

[B] circa 16000 KB/sec

[C] circa 9600 KB/sec

126

[D] circa 19200 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un vantaggio dello schema di allocazione contigua di file in un file system e la velocita diaccesso poiche non si devono effettuare ulteriori operazioni di ricerche dei blocchi dopoaver individuato il primo blocco

b) Un problema nella prima versione della File Allocation Table di Microsoft (FAT12) era laframmentazione interna per i dischi di grandi dimensioni. Tale problema sussiste anchecon le nuove versioni FAT16 e FAT32, per cui esse vengono oramai utilizzate solo per ifile systen dei floppy disk.

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe false

[D] entrambe vere

domanda N. 16:

Sia dato un file system che gestisca blocchi da 512 byte e indirizzi da 16 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 8 puntatori diretti a blocchi di dati

• 2 puntatori indiretti a blocchi di dati

[A] 271360 byte

[B] 266240 byte

[C] 330240 byte

[D] 67584 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 25, allora per cancellare il 60-mo recordsono necessari 35 accessi in lettura e 35 in scrittura.

127

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 1 in scrittura.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] entrambe false

[D] a) falsa ; b) vera

128

================================================== compito N. 15 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

129

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 16 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) L’ordine delle attivita’ di un sistema operativo e’ determinato da eventi che possono esseregenerati da dispositivi hardware, da errori in un programma in esecuzione oppure da unarichiesta specifica di un programma che intende accedere ai servizi del sistema operativostesso mediante chiamate di sistema.

b) Le routine di servizio relative ai differenti eventi di cui alla affermazione a) sono eseguitesempre in modalita’ sistema, anche nel caso di programmi utente che intendono accedereai servizi del sistema operativo attraverso le chiamate di sistema.

[A] a) falsa ; b) vera

[B] entrambe false

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il sistema operativo accede molto spesso ai Process Control Blocks. Di conseguenza moltiprocessori possiedono un registro hardware che fa riferimento al PCB del processo inesecuzione in modo da facilitare il cambio di contesto.

b) Una delle operazioni che un processo puo’ effettuare quando riceve un segnale e di ignorarlo.Con tale termine si intende la capacita di redirigere il segnale ad un altro processo.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

130

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i == 2) exit(0);

}exit(0);}

[A] 8

[B] 10

[C] 14

[D] 12

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 1 7 2P2 2 5 4P3 6 4 5P4 7 7 1P5 10 2 3

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 11

[B] 10.4

[C] 11.2

[D] 10.6

domanda N. 5:

131

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 3 6P3 5 8P4 9 4P5 11 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 16.2

[B] 16.4

[C] 16.6

[D] 16

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = 2*x; x = x*2; x = x+1;if (x > 0) then signal(T); signal(S);

x = x+1; wait(T)signal(S); x = x-1

else signal(R);x = x-1;signal(T);

endifwait(R);print x;

Si determini l’output del processo P1 supponendo che inizialmente x = −1 e i tre semaforibinari siano inizializzati rispettivamente R = 1, S = 0, T = 0.

[A] 5

[B] 4

[C] -5

[D] -4

132

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il significativo overhrad associato alla tecnica del compattamento usata per ridurre il prob-lema della frammentazione esterna, rende tale tecnica poco adatta per un utilizzo neisistemi operativi real-time.

b) In un sistema operativo che gestisce la memoria centrale mediante partizioni fisse, i registrichiamati base e limit vengono utilizzati per decidere in quale partizione allocare i processi.

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe vere

[D] entrambe false

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 7 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 1229, 341,2831, 1710, 2116 KByte.

[A] 15872 KByte

[B] 15360 KByte

[C] 19456 KByte

[D] 21540 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

133

[A] 12802

[B] 5122

[C] 13314

[D] 10754

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){B[j/2 + i*256] = A[i][j] + C[j];

} }

[A] 12

[B] 8

[C] 11

[D] 10

domanda N. 11:

Si consideri un sistema opereativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Si determini il numero di pagefaults per la seguente sequenza di riferimenti alle pagine:

6, 7, 1, 6, 5, 4, 7, 3, 1, 6, 5, 6, 1, 4, 2

[A] 9

[B] 12

[C] 10

[D] 11

134

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 il sistemaoperativo sta servendo una richiesta sulla traccia 50 e in coda ci sono richieste per le tracce (15;30; 105; 120; 52; 85). Successivamente arrivano altre richieste all’istante t=25 per la traccia70 e all’istante t=150 per la traccia 45. Si calcoli il tempo di ricerca complessivo per serviretutte le richieste secondo la politica LOOK, iniziando in ordine ascendente e trascurando lalatenza rotazionale e il tempo di trasferimento.

[A] 225

[B] 305

[C] 205

[D] 234

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Con un carico del disco pesante, la politica di scheduling SCAN andrebbe sempre preferitaalla politica C-SCAN a causa dell’overhead del ”ritorno a vuoto” della testina che inquesto caso diventa ancora piu significativo.

b) Il livello RAID con il piu alto overhead di memoria secondaria e il livello 5, a causa dellospazio utilizzato per la gestione delle informazioni relative alla parita.

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe false

[D] entrambe vere

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 5 con 5 dischi, se il MeanTime to Failure (MTF) e di 1500 giorni e il Mean Time to Repair (MTR) e di 24.75 giorni.

[A] 0.00011

[B] 0.0002

[C] 0.00003

[D] 0.00009

135

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno dei vantaggi della bitmap rispetto alla lista dei blocchi liberi e la possibilita, per ilsistema, di determinare in maniera efficiente l’esistenza di un certo numero di blocchiliberi contigui.

b) In un file system con struttura gerarchica (ad es. Unix), il nome di un file e formatodall’insieme dei nomi delle directory a partire dalla directory utente fino al file.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 16:

Sia dato un file system di 2 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 512 byte.

[A] 6 KB

[B] 12 KB

[C] 48 KB

[D] 32 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 25 allora per cancellare il 70-mo record sono necessari30 accessi in lettura e 30 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 35, allora per cancellare il 75-mo recordsono necessari 40 accessi in lettura e 1 in scrittura.

[A] entrambe false

136

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

137

================================================== compito N. 16 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

138

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 17 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno dei principali difetti dei sistemi operativi con architettura monolitica e’ l’inefficienza.Tale approccio, nonostante permetta uno sviluppo rapido del sistema, e’ per questomotivo sempre meno utilizzato per la progettazione dei sistemi operativi di tipo generale

b) Uno dei vantaggi dei sistemi operativi con architettura stratificata e’ la possibilita’ dimodificare rapidamente e semplicemente parte del sistema operativo senza interveniresugli altri livelli dell’architettura software.

[A] entrambe false

[B] a) vera ; b) falsa

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le prestazioni di una qualunque applicazione multithreading e sempre piu’ efficiente nelcaso di una implementazione dei thread utente secondo il modello molti a uno rispettoad una implementazione secondo il modello uno a uno. Cio e’ dovuto al fatto che con ilmodello molti a uno, i thread a livello utente non richiamano il kernel per le operazionidi scheduling e sincronizzazione.

b) Uno svantaggio dell’implementazione dei threads secondo il modello uno a uno e la scarsaportabilita delle applicazioni, in quanto esse devono interfacciarsi direttamente con lechiamate di sistema relative al sistema operativo su cui deve essere eseguita l’applicazione.I sistemi operativi conformi ad interfacce standard, ad esempio POSIX, riducono il prob-lema.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

139

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i > 1) exit(0);

}exit(0);}

[A] 9

[B] 8

[C] 10

[D] 12

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 1 4P3 3 6P4 7 2P5 10 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 8.4

[B] 8.6

[C] 8.2

[D] 8.0

140

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 5P2 3 6P3 5 7P4 8 6P5 16 3

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 14

[B] 14.2

[C] 13.8

[D] 13.6

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(S) wait(R) wait(T)x = 2+x; if (x < 0) then x = x+1;signal(T); x = x-1; signal(R);wait(S); signal(S); wait(T);print x; else x = x+1;

x = x+1; signal(S);signal(T);

endif

Si determini l’output del processo P1 supponendo che inizialmente x = −1 e i tre semaforibinari siano inizializzati rispettivamente S = 1, R = 0, T = 0.

[A] 6

[B] 4

[C] 3

[D] 5

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

141

a) In generale, nel caso di gestione della memoria mediante paginazione, il problema dellaframmentazione aumenta col cresere della dimensione delle pagine.

b) La segmentazione e uno schema di gestione della memoria in cui un programma e divisoin moduli della stessa dimensione (i segmenti) che sono poi allocati in frame di memorialiberi.

[A] entrambe false

[B] entrambe vere

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 180 ns e che il tempo di accesso airegistri TLB richieda 25 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 232 ns.

[A] 85%

[B] 91%

[C] 88%

[D] 82%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

[A] 9218

[B] 14850

142

[C] 3070

[D] 6146

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[256];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){B[j/2 + i*256] = A[i][j] + C[j/2];

} }

[A] 8

[B] 12

[C] 10

[D] 11

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo del Work-ing Set con dimensione della finestra di osservazione w = 6. Si determini, a partire dall’istantet = 6, il minimo e massimo numero di frame che il sistema assegna ad un processo di 6 pagineche vengono referenziate nel seguente ordine:

1, 2, 4, 1, 2, 4, 3, 4, 3, 3, 3, 4, 5, 3, 4, 5, 6, 4, 5, 6, 5, 5, 6, 5, 4

[A] min=3, max=5

[B] min=3, max=4

[C] min=2, max=5

[D] min=2, max=4

domanda N. 12:

143

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0il sistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richiesteper le tracce (55; 75; 80; 110; 135; 160). Successivamente arrivano altre richieste all’istantet=30 per la traccia 105 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricercacomplessivo in ms per servire tutte le richieste secondo la politica Shortest Seek Time First(SSTF), trascurando la latenza rotazionale e il tempo di trasferimento.

[A] 155

[B] 180

[C] 210

[D] 205

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Con un carico del disco pesante, la politica di scheduling SCAN andrebbe sempre preferitaalla politica C-SCAN a causa dell’overhead del ”ritorno a vuoto” della testina che inquesto caso diventa ancora piu significativo.

b) Il livello RAID con il piu alto overhead di memoria secondaria e il livello 5, a causa dellospazio utilizzato per la gestione delle informazioni relative alla parita.

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe false

[D] entrambe vere

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 5 con 5 dischi, se il MeanTime to Failure (MTF) e di 1400 giorni e il Mean Time to Repair (MTR) e di 19.6 giorni.

[A] 0.00009

[B] 0.00011

[C] 0.0001

[D] 0.00003

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

144

a) Per motivi di efficienza, la lista dei blocchi liberi e generalmente ordinata secondo l’indicedel blocco.

b) I principali compiti di un file system sono: gestire le strutture logiche del file system(directory e file), organizzare i file in blocchi e gestirne l’allocazione, verificare l’integritadei dati, gestire lo spazio libero e verificare che i dati nei file non contengano errori.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 16:

Sia dato un file system che gestisca blocchi da 256 byte e indirizzi da 16 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 8 puntatori diretti a blocchi di dati

• 2 puntatori indiretti a blocchi di dati

[A] 271360 byte

[B] 50944 byte

[C] 266240 byte

[D] 67584 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 25 allora per cancellare il 70-mo record sono necessari30 accessi in lettura e 30 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 35, allora per cancellare il 75-mo recordsono necessari 40 accessi in lettura e 1 in scrittura.

[A] a) vera ; b) falsa

[B] entrambe false

145

[C] a) falsa ; b) vera

[D] entrambe vere

146

================================================== compito N. 17 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

147

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 18 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) L’ordine delle attivita’ di un sistema operativo e’ determinato da eventi che possono esseregenerati da dispositivi hardware, da errori in un programma in esecuzione oppure da unarichiesta specifica di un programma che intende accedere ai servizi del sistema operativostesso mediante chiamate di sistema.

b) Le routine di servizio relative ai differenti eventi di cui alla affermazione a) sono eseguitesempre in modalita’ sistema, anche nel caso di programmi utente che intendono accedereai servizi del sistema operativo attraverso le chiamate di sistema.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno svantaggio nell’uso dei threads rispetto all’uso di piu processi cooperanti che comuni-cano attraverso una memoria condivisa e la necessita della sincronizzazione.

b) Il meccanismo piu utilizzato dai sistemi operativi di tipo generale per impedire che unprocesso possa monopolizzare l’uso della CPU , consiste nell’assegnare ai processi untempo massimo di utilizzo continuativo della CPU, scaduto il quale il processo vienesospeso.

[A] entrambe false

[B] entrambe vere

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

148

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i >= 0) exit(0);

}exit(0);}

[A] 9

[B] 5

[C] 8

[D] 7

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 12P2 2 3P3 6 3P4 11 6P5 14 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 8.4

[B] 8.2

[C] 8.0

[D] 7.8

149

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 7P2 1 7P3 7 7P4 11 3P5 13 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 15

[B] 14.6

[C] 14.4

[D] 14.8

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = -x; x = x-1; x = x+1;signal(S); if (x > 0) then signal(R);wait(R); x = x-1; wait(T);x = -x; signal(T); print x;signal(T); else

signal(R);endif

Si determini l’output del processo P3 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente S = 0, R = 0, T = 1.

[A] 5

[B] 6

[C] 3

[D] 4

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

150

a) In generale, nel caso di gestione della memoria mediante paginazione, il problema dellaframmentazione aumenta col cresere della dimensione delle pagine.

b) La segmentazione e uno schema di gestione della memoria in cui un programma e divisoin moduli della stessa dimensione (i segmenti) che sono poi allocati in frame di memorialiberi.

[A] entrambe false

[B] entrambe vere

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 6 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 2530,1840, 785, 3421, 2013 KByte.

[A] 21540 KByte

[B] 15360 KByte

[C] 19456 KByte

[D] 17408 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 2, 1, 248 >

[A] 1272

[B] 3320

151

[C] 4856

[D] 6904

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[512], B[2][256], C[2][512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i][2*j] = A[i*N+j] + B[i][j];

} }

[A] 8

[B] 10

[C] 11

[D] 12

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo del Work-ing Set con dimensione della finestra di osservazione w = 6. Si determini, a partire dall’istantet = 6, il minimo e massimo numero di frame che il sistema assegna ad un processo di 6 pagineche vengono referenziate nel seguente ordine:

1, 2, 4, 1, 2, 4, 3, 4, 3, 3, 3, 4, 5, 3, 4, 5, 6, 4, 5, 6, 5, 5, 6, 5, 4

[A] min=2, max=4

[B] min=3, max=5

[C] min=3, max=4

[D] min=2, max=5

domanda N. 12:

152

Sia dato un disco con 2000 tracce. Una operazione di lettura di un blocco richiede 3 msper lo spostamento tra due tracce adiacenti, 5 ms per la latenza rotazionale e 10 ms per iltrasferimento di un blocco di dati. Si calcoli il tempo necessario per leggere un file costituitoda 45 blocchi nel caso in cui questi ultimi siano distanti mediamente 15 tracce l’uno dall’altro.

[A] 8.44 sec

[B] 2.7 sec

[C] 12.15 sec

[D] 2.04 sec

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale motivo per cui l’algoritmo di scheduling del disco Shortest Seek Time First epoco utilizzato nei sistemi di tipo generale e la possibilita di posticipazione indefinita dialcune richieste.

b) Uno dei parametri per la valutazione delle strategie di scheduling del disco e la varianzadei tempi di risposta che e una misura del numero di richieste servite per unita di tempo

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 1 con 6 dischi, se il MeanTime to Failure (MTF) e di 1500 giorni e il Mean Time to Repair (MTR) e di 15 giorni.

[A] 0.00002

[B] 0.00003

[C] 0.00009

[D] 0.00001

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

153

a) Lo schema di allocazione basato sulla File Allocation Table (FAT) di Microsoft e unoschema che, con poca richiesta di memoria (necessaria solo per la tabella) e con pochiacccessi al disco assicura una gestione efficiente del file system anche se di grandi di-mensioni. Per tale motivo e ancora alla base di tutti i file system dei sistemi operativiMicrosoft.

b) Se il numero di blocchi usati in un file system e molto elevato, la memoria richiesta perla gestione dei blocchi liberi mediante lista concatenata puo essere inferiore a quellarichiesta dalla bitmap, nonostante quest’ultima usi solo un bit per blocco.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

domanda N. 16:

Sia dato un file system di 2 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 1024 byte.

[A] ∼ 64 KB

[B] ∼ 16 KB

[C] ∼ 2.7 KB

[D] ∼ 6 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 50-mo record sono necessari 1accesso in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 15, allora per cancellare il 65-mo recordsono necessari 50 accessi in lettura e 50 in scrittura.

[A] entrambe vere

[B] a) vera ; b) falsa

154

[C] entrambe false

[D] a) falsa ; b) vera

155

================================================== compito N. 18 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

156

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 19 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) L’ordine delle attivita’ di un sistema operativo e’ determinato da eventi che possono esseregenerati da dispositivi hardware, da errori in un programma in esecuzione oppure da unarichiesta specifica di un programma che intende accedere ai servizi del sistema operativostesso mediante chiamate di sistema.

b) Le routine di servizio relative ai differenti eventi di cui alla affermazione a) sono eseguitesempre in modalita’ sistema, anche nel caso di programmi utente che intendono accedereai servizi del sistema operativo attraverso le chiamate di sistema.

[A] entrambe false

[B] a) vera ; b) falsa

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il maggior svantaggio nell’uso dei segnali rispetto alle altre forme di IPC e l’impossibilitadi scambiare dati tra i processi.

b) Le principali azioni che un processo puo compiere quando riceve un segnale sono: catturare,ignorare o mascherare il segnale.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

157

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i > 2) exit(0);

}exit(0);}

[A] 8

[B] 10

[C] 16

[D] 9

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 1 4P3 3 6P4 7 2P5 10 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 8.4

[B] 8.6

[C] 8.2

[D] 8.0

domanda N. 5:

158

Sia dato il seguente insieme di processi:

TA TC

P1 0 3P2 1 5P3 3 7P4 8 5P5 10 6

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 13.8

[B] 13.6

[C] 14

[D] 14.2

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(S) wait(R) wait(T)x = 2+x; if (x < 0) then x = x+1;signal(T); x = x-1; signal(R);wait(S); signal(S); wait(T);print x; else x = x+1;

x = x+1; signal(S);signal(T);

endif

Si determini l’output del processo P1 supponendo che inizialmente x = −1 e i tre semaforibinari siano inizializzati rispettivamente S = 1, R = 0, T = 0.

[A] 5

[B] 6

[C] 4

[D] 3

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

159

a) Andando dai livelli di memoria piu bassi (dispositivi secondari e terziari) a quelli piu alti(registri e cache), il tempo di accesso diminuisce.

b) In generale, l’overhead a cui si va in contro con l’allocazione non contigua dei processi inmemoria e compensata dal vantaggio di un aumento del grado di multiprogrammazione.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 6 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 2530,1840, 785, 3421, 2013 KByte.

[A] 19456 KByte

[B] 17408 KByte

[C] 21540 KByte

[D] 15360 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 2, 1, 248 >

[A] 3320

[B] 4856

[C] 6904

160

[D] 1272

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A e B, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[1024], B[2][512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N/2; j++){B[i][2*j] = A[i*N+j] + A[i*N+2*j];

} }

[A] 8

[B] 11

[C] 12

[D] 10

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Se determini il numero di pagefaults per la squenza di riferimenti alle pagine:

3, 2, 3, 4, 3, 1, 5, 1, 4, 1, 2, 3, 6, 7, 3

[A] 9

[B] 8

[C] 10

[D] 7

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 50 e in coda ci sono richieste per letracce (58; 15; 23; 25; 65; 55). Successivamente arrivano altre richieste all’istante t=7 per la

161

traccia 49 e all’istante t=50 per la traccia 57. Si calcoli il tempo di ricerca complessivo perservire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurando lalatenza rotazionale e il tempo di trasferimento.

[A] 65

[B] 117

[C] 98

[D] 107

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) La motivazione originale per l’introduzione dei sistemi RAID e stata l’osservazione che lavelocita di trasferimento cresceva ad un tasso molto inferiore a quello della crescita siadella capacita dei dischi sia della potenza di elaborazione delle CPU.

b) L’algorimo di scheduling del disco First Come First Served tende ad avere una accettabilevarianza dei tempi di risposta a spese del numero di richieste servite per unita di tempo.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 5 con 5 dischi, se il MeanTime to Failure (MTF) e di 1600 giorni e il Mean Time to Repair (MTR) e di 23.04 giorni.

[A] 0.00003

[B] 0.00011

[C] 0.00009

[D] 0.0002

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

162

a) Lo schema di allocazione basato sulla File Allocation Table (FAT) di Microsoft e unoschema che, con poca richiesta di memoria (necessaria solo per la tabella) e con pochiacccessi al disco assicura una gestione efficiente del file system anche se di grandi di-mensioni. Per tale motivo e ancora alla base di tutti i file system dei sistemi operativiMicrosoft.

b) Se il numero di blocchi usati in un file system e molto elevato, la memoria richiesta perla gestione dei blocchi liberi mediante lista concatenata puo essere inferiore a quellarichiesta dalla bitmap, nonostante quest’ultima usi solo un bit per blocco.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 16:

Sia dato un file system che gestisca blocchi da 512 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 5 puntatori diretti a blocchi di dati

• 5 puntatori indiretti a blocchi di dati

[A] 271360 byte

[B] 50944 byte

[C] 330240 byte

[D] 67584 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 50-mo record sono necessari 1accesso in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 15, allora per cancellare il 65-mo recordsono necessari 50 accessi in lettura e 50 in scrittura.

163

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

164

================================================== compito N. 19 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

165

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 20 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Per motivi di sicurezza, le seguenti istruzioni dovrebbero essere sempre eseguite in modalitasistema: lettura del clock di sistema, disabilitazione delle interruzioni, switch dallamodalita utente a quella di sistema, accesso ai dispositivi di I/O.

b) La principale difficolta nello sviluppo di un sistema operativo real time e garantire che iprocessi terminino la loro esecuzione in un fissato intervallo di tempo. In tal senso unruolo chiave e svolto dallo scheduler.

[A] entrambe vere

[B] entrambe false

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) L’insieme delle informazioni che caratterizzano un processo in esecuzione e che sono mem-orizzate nel Process Control Block e chiamato contesto. Per tale motivo la proceura chesospende un processo in esecuzione per mandarne un altro e detta cambio di contesto(context switch).

b) Il tempo medio di esecuzione di un insieme di processi di un sistema operativo time sharingdiminuisce sempre quando aumenta la frequenza dei context switch, in quanto i processiin esecuzione si avvicendano piu rapidemente nell’uso della CPU.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

166

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i > 1) exit(0);

}exit(0);}

[A] 9

[B] 8

[C] 10

[D] 12

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 0 6 3P2 3 4 5P3 4 6 4P4 11 2 5P5 14 4 1

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 8.2

[B] 8.4

[C] 8.8

[D] 8.6

167

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 5P2 3 6P3 5 7P4 8 6P5 16 3

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 13.6

[B] 14

[C] 14.2

[D] 13.8

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(S) wait(R) wait(T)x = 2+x; if (x < 0) then x = x+1;signal(T); x = x-1; signal(R);wait(S); signal(S); wait(T);print x; else x = x+1;

x = x+1; signal(S);signal(T);

endif

Si determini l’output del processo P1 supponendo che inizialmente x = −1 e i tre semaforibinari siano inizializzati rispettivamente S = 1, R = 0, T = 0.

[A] 3

[B] 5

[C] 6

[D] 4

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

168

a) In generale, nel caso di gestione della memoria mediante paginazione, il problema dellaframmentazione aumenta col cresere della dimensione delle pagine.

b) La segmentazione e uno schema di gestione della memoria in cui un programma e divisoin moduli della stessa dimensione (i segmenti) che sono poi allocati in frame di memorialiberi.

[A] a) vera ; b) falsa

[B] entrambe false

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 6 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 2530,1840, 785, 3421, 2013 KByte.

[A] 21540 KByte

[B] 15360 KByte

[C] 19456 KByte

[D] 17408 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

[A] 13314

[B] 10754

169

[C] 12802

[D] 5122

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[512], B[2][256], C[2][512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i][2*j] = A[i*N+j] + B[i][j];

} }

[A] 12

[B] 8

[C] 10

[D] 11

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo del Work-ing Set con dimensione della finestra di osservazione w = 6. Si determini, a partire dall’istantet = 6, il minimo e massimo numero di frame che il sistema assegna ad un processo di 6 pagineche vengono referenziate nel seguente ordine:

4, 2, 1, 1, 6, 6, 4, 1, 1, 6, 5, 6, 3, 5, 3, 5, 4, 3, 2, 3, 2, 1, 3, 2, 1

[A] min=3, max=4

[B] min=2, max=5

[C] min=3, max=5

[D] min=2, max=4

domanda N. 12:

170

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0il sistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richiesteper le tracce (55; 75; 80; 110; 135; 160). Successivamente arrivano altre richieste all’istantet=30 per la traccia 105 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricercacomplessivo in ms per servire tutte le richieste secondo la politica Shortest Seek Time First(SSTF), trascurando la latenza rotazionale e il tempo di trasferimento.

[A] 180

[B] 210

[C] 205

[D] 155

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale motivo per cui l’algoritmo di scheduling del disco Shortest Seek Time First epoco utilizzato nei sistemi di tipo generale e la possibilita di posticipazione indefinita dialcune richieste.

b) Uno dei parametri per la valutazione delle strategie di scheduling del disco e la varianzadei tempi di risposta che e una misura del numero di richieste servite per unita di tempo

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 5 con 5 dischi, se il MeanTime to Failure (MTF) e di 1600 giorni e il Mean Time to Repair (MTR) e di 23.04 giorni.

[A] 0.0002

[B] 0.00003

[C] 0.00011

[D] 0.00009

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

171

a) Uno dei vantaggi della bitmap rispetto alla lista dei blocchi liberi e la possibilita, per ilsistema, di determinare in maniera efficiente l’esistenza di un certo numero di blocchiliberi contigui.

b) In un file system con struttura gerarchica (ad es. Unix), il nome di un file e formatodall’insieme dei nomi delle directory a partire dalla directory utente fino al file.

[A] entrambe false

[B] entrambe vere

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 16:

Sia dato un file system di 8 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 512 byte.

[A] 13 KB

[B] 32 KB

[C] 28 KB

[D] 12 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 30 allora per cancellare il 70-mo record sono necessari40 accessi in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 10, allora per cancellare il 35-mo recordsono necessari 25 accessi in lettura e 25 in scrittura.

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe false

[D] entrambe vere

172

================================================== compito N. 20 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

173

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 21 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un sistema operativo che e in grado di utilizzare in maniera efficiente le risorse che vengonoaggiunte al sistema e detto espandibile.

b) Le chiamate di sistema operano in maniera simile alle interruzioni, nel senso che quandoavviene una chiamata di sistema, il sistema si porta in modalita kernel e serve la richiestamediante una apposita routine di servizio.

[A] a) falsa ; b) vera

[B] entrambe false

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il compito principale dello scheduler a lungo termine (anche detto job scheduler) e deter-minare l’ordine con cui i processi accedono alla CPU.

b) L’insieme dei processi che attendono il proprio turno per accedere alla CPU sono organiz-zati in una struttura dati chiamata coda dei processi in attesa (waiting queue).

[A] entrambe false

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:

174

main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i < 2) exit(0);

}exit(0);}

[A] 6

[B] 8

[C] 9

[D] 10

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 1 7 2P2 2 5 4P3 6 4 5P4 7 7 1P5 10 2 3

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 10.6

[B] 11

[C] 10.4

[D] 11.2

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 3 6P3 5 6P4 9 4P5 13 2

175

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 18.8

[B] 17.6

[C] 18.0

[D] 18.4

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = -x; x = x-1; x = x+1;signal(S); if (x > 0) then signal(R);wait(R); x = x-1; wait(T);x = -x; signal(T); print x;signal(T); else

signal(R);endif

Si determini l’output del processo P3 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente S = 0, R = 0, T = 1.

[A] 6

[B] 3

[C] 4

[D] 5

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Nessuna delle principali strategie di allocazione contigua della memoria con partizionivariabili (strategia first fit, strategia best-fit e strategia worst-fit) comporta problemi diframmentazione interna.

b) Il principale svantaggio della strategia first fit rispetto alle altre due strategie di allocazionecontigua della memoria e il maggiore overhead.

176

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe false

[D] entrambe vere

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 190 ns e che il tempo di accesso airegistri TLB richieda 25 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 272 ns.

[A] 70%

[B] 73.5%

[C] 76.6666%

[D] 68%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 0, 3, 408 >

[A] 4731

[B] 1944

[C] 7803

[D] 6267

domanda N. 10:

177

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[512], B[2][256], C[2][512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i][2*j] = A[i*N+j] + B[i][j];

} }

[A] 8

[B] 10

[C] 11

[D] 12

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Se determini il numero di pagefaults per la squenza di riferimenti alle pagine:

3, 2, 3, 4, 3, 1, 5, 1, 4, 1, 2, 3, 6, 7, 3

[A] 9

[B] 8

[C] 10

[D] 7

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richieste per letracce (40; 65; 90; 120; 145; 125). Successivamente arrivano altre richieste all’istante t=30 perla traccia 95 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricerca complessivoper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

[A] 210

178

[B] 165

[C] 215

[D] 185

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) La motivazione originale per l’introduzione dei sistemi RAID e stata l’osservazione che lavelocita di trasferimento cresceva ad un tasso molto inferiore a quello della crescita siadella capacita dei dischi sia della potenza di elaborazione delle CPU.

b) L’algorimo di scheduling del disco First Come First Served tende ad avere una accettabilevarianza dei tempi di risposta a spese del numero di richieste servite per unita di tempo.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 1 con 6 dischi, se il MeanTime to Failure (MTF) e di 1500 giorni e il Mean Time to Repair (MTR) e di 15 giorni.

[A] 0.00003

[B] 0.00009

[C] 0.00001

[D] 0.00002

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Rispetto allo schema di allocazione dei file con lista concatenata, il principale vantaggiodella allocazione indicizzata dei file in un file system e la possibilita di effettuare laricerca nel solo blocco indice, migliorando enormemente i tempi di attraversamento delfile.

179

b) Lo schema di gestione dei blocchi liberi basato sulla bitmap introduce sempre un minorsovraccarico di memoria rispetto alla lista dei blocchi liberi, poiche mediante la bitmapviene utilizzato un solo bit per blocco, mentre la lista richiede l’indice del blocco chepuo’ essere grande 16 o 32 bit.

[A] a) falsa ; b) vera

[B] entrambe false

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 16:

Sia dato un file system che gestisca blocchi da 256 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 7 puntatori diretti a blocchi di dati

• 3 puntatori indiretti a blocchi di dati

[A] 266240 byte

[B] 330240 byte

[C] 67584 byte

[D] 50944 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 50-morecord e necessario 1 accesso in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 1 in scrittura.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

180

================================================== compito N. 21 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

181

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 22 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) I seguenti sono tutti nomi di sistemi operativi realmente esistiti: Unix, MS-DOS, Solaris,Multics, CTSS, Minix, MacOS, Xenix.

b) Il modulo del sistema operativo che si occupa di determinare quando e per quanto tempoun processo deve accedere alla CPU e chiamato Interprocessor Communication Manager.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) In ogni sistema operativo e presente una tabella (chiamata tabella dei processi o ProcessControl Block = PCB) che tiene traccia di tutti i processi in esecuzione. In tale tabellae memorizzato per ogni processo in esecuzione un identificativo di processo (pid), unpuntatore alla memoria dove sono stati memorizzati il codice e l’area dati, nonche’ tuttele informazioni necessarie per effettuare correttamente il cambio di contesto.

b) Pur avendo alcuni campi sempre presenti in tutti i sistemi operativi, la struttura generaledel PCB dipende dalla implementazione del sistema operativo.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe false

[D] entrambe vere

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

182

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i > 2) exit(0);

}exit(0);}

[A] 16

[B] 9

[C] 8

[D] 10

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 1 8P3 4 3P4 9 2P5 12 4

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 10.2

[B] 9.8

[C] 10.0

[D] 10.4

domanda N. 5:

183

Sia dato il seguente insieme di processi:

TA TC

P1 0 3P2 1 5P3 3 7P4 8 5P5 10 6

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 14.2

[B] 13.8

[C] 13.6

[D] 14

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = -x; x = x-1; x = x+1;signal(S); if (x > 0) then signal(R);wait(R); x = x-1; wait(T);x = -x; signal(T); print x;signal(T); else

signal(R);endif

Si determini l’output del processo P3 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente S = 0, R = 0, T = 1.

[A] 4

[B] 5

[C] 6

[D] 3

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

184

a) Nessuna delle principali strategie di allocazione contigua della memoria con partizionivariabili (strategia first fit, strategia best-fit e strategia worst-fit) comporta problemi diframmentazione interna.

b) Il principale svantaggio della strategia first fit rispetto alle altre due strategie di allocazionecontigua della memoria e il maggiore overhead.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] a) falsa ; b) vera

[D] entrambe false

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 6 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 2530,1840, 785, 3421, 2013 KByte.

[A] 21540 KByte

[B] 15360 KByte

[C] 19456 KByte

[D] 17408 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 2, 0, 85 >

[A] 4181

[B] 890

185

[C] 3671

[D] 4693

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[2][256], C[512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i*N+j] = A[i][2*j] + B[i][j];

} }

[A] 12

[B] 8

[C] 10

[D] 11

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out con seconda chance, che assegna ad ogni processo 5 frame. Se determini il numerodi page faults per la squenza di riferimenti alle pagine:

2, 3, 4, 2, 5, 6, 3, 1, 4, 2, 5, 2, 4, 6, 3

[A] 10

[B] 9

[C] 8

[D] 7

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 il

186

sistema operativo sta servendo una richiesta sulla traccia 50 e in coda ci sono richieste per letracce (58; 15; 23; 25; 65; 55). Successivamente arrivano altre richieste all’istante t=7 per latraccia 49 e all’istante t=50 per la traccia 57. Si calcoli il tempo di ricerca complessivo perservire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurando lalatenza rotazionale e il tempo di trasferimento.

[A] 98

[B] 107

[C] 65

[D] 117

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un problema frequente nell’algoritmo First Come First Served (FCFS) di scheduling deldisco e la posticipazione indefinita di alcune richieste di servizio.

b) La latenza rotazionale e identica per ogni accesso al disco.

[A] entrambe vere

[B] entrambe false

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 14:

Si consideri un disco che opera a 12000 rpm (giri al minuto), dove ogni traccia e composta da80 settori di 512 bytes ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 19200 KB/sec

[B] circa 8000 KB/sec

[C] circa 16000 KB/sec

[D] circa 9600 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

187

a) Rispetto allo schema di allocazione dei file con lista concatenata, il principale vantaggiodella allocazione indicizzata dei file in un file system e la possibilita di effettuare laricerca nel solo blocco indice, migliorando enormemente i tempi di attraversamento delfile.

b) Lo schema di gestione dei blocchi liberi basato sulla bitmap introduce sempre un minorsovraccarico di memoria rispetto alla lista dei blocchi liberi, poiche mediante la bitmapviene utilizzato un solo bit per blocco, mentre la lista richiede l’indice del blocco chepuo’ essere grande 16 o 32 bit.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 16:

Sia dato un file system che gestisca blocchi da 256 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 7 puntatori diretti a blocchi di dati

• 3 puntatori indiretti a blocchi di dati

[A] 50944 byte

[B] 266240 byte

[C] 330240 byte

[D] 67584 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 50-morecord e necessario 1 accesso in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 1 in scrittura.

188

[A] a) falsa ; b) vera

[B] entrambe vere

[C] a) vera ; b) falsa

[D] entrambe false

189

================================================== compito N. 22 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

190

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 23 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) L’ordine delle attivita’ di un sistema operativo e’ determinato da eventi che possono esseregenerati da dispositivi hardware, da errori in un programma in esecuzione oppure da unarichiesta specifica di un programma che intende accedere ai servizi del sistema operativostesso mediante chiamate di sistema.

b) Le routine di servizio relative ai differenti eventi di cui alla affermazione a) sono eseguitesempre in modalita’ sistema, anche nel caso di programmi utente che intendono accedereai servizi del sistema operativo attraverso le chiamate di sistema.

[A] entrambe false

[B] a) vera ; b) falsa

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno svantaggio nell’uso dei threads rispetto all’uso di piu processi cooperanti che comuni-cano attraverso una memoria condivisa e la necessita della sincronizzazione.

b) Il meccanismo piu utilizzato dai sistemi operativi di tipo generale per impedire che unprocesso possa monopolizzare l’uso della CPU , consiste nell’assegnare ai processi untempo massimo di utilizzo continuativo della CPU, scaduto il quale il processo vienesospeso.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe false

[D] entrambe vere

191

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i > 1) exit(0);

}exit(0);}

[A] 12

[B] 9

[C] 8

[D] 10

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 0 2P3 3 4P4 5 6P5 9 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 7.5

[B] 8.5

[C] 7

[D] 8

192

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 3 6P3 5 6P4 9 4P5 13 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 18.0

[B] 18.4

[C] 18.8

[D] 17.6

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x+2; x = x*2; x = x+1;if (x > 0) then signal(T); signal(S);

x = -1; wait(S); wait(T)endif x = -x; x = x+1print x; signal(R); signal(S);

Si determini l’output del processo P1 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente R = 0, S = 0, T = 1.

[A] -3

[B] -4

[C] -2

[D] -1

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

193

a) Con il termine di memoria virtuale si intende tutta la memoria disponibile in un calcolatore,composta cioe della memoria centrale e da tutta la memoria secondaria.

b) Il dispositivo che effettua la traduzione degli indirizzi virtuali in indirizzi fisici e chiamatoMemory Manager Unit.

[A] a) vera ; b) falsa

[B] entrambe false

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 6 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 2530,1840, 785, 3421, 2013 KByte.

[A] 17408 KByte

[B] 21540 KByte

[C] 15360 KByte

[D] 19456 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 0, 3, 408 >

[A] 6267

[B] 4731

[C] 1944

194

[D] 7803

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){B[j/2 + i*256] = A[i][j] + C[j];

} }

[A] 11

[B] 10

[C] 12

[D] 8

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo del Work-ing Set con dimensione della finestra di osservazione w = 6. Si determini, a partire dall’istantet = 6, il minimo e massimo numero di frame che il sistema assegna ad un processo di 6 pagineche vengono referenziate nel seguente ordine:

1, 4, 2, 1, 2, 4, 1, 6, 2, 1, 6, 6, 1, 6, 1, 5, 3, 5, 1, 6, 4, 3, 5, 4, 4

[A] min=3, max=5

[B] min=2, max=4

[C] min=3, max=4

[D] min=2, max=5

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 70 e in coda ci sono richieste per le

195

tracce (55; 62; 65; 95; 97; 105). Successivamente arrivano altre richieste all’istante t=7 per latraccia 71 e all’istante t=50 per la traccia 63. Si calcoli il tempo di ricerca complessivo in msper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

[A] 107

[B] 97

[C] 65

[D] 121

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le tecniche di ottimizzazione rotazionale del disco hanno avuto una importanza crescentenegli ultimi anni perche i moderni dischi rigidi esibiscono tempi di seek e latenze mediedello stesso ordine di grandezza.

b) Il livello RAID 1 e il migliore per ambienti in cui l’affidabilita ha una priorita superiore alcosto o alle prestazioni.

[A] entrambe vere

[B] entrambe false

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 14:

Si consideri un disco che opera a 12000 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 1024 byte ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 16000 KB/sec

[B] circa 9600 KB/sec

[C] circa 8000 KB/sec

[D] circa 32000 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

196

a) Lo schema di allocazione basato sulla File Allocation Table (FAT) di Microsoft e unoschema che, con poca richiesta di memoria (necessaria solo per la tabella) e con pochiacccessi al disco assicura una gestione efficiente del file system anche se di grandi di-mensioni. Per tale motivo e ancora alla base di tutti i file system dei sistemi operativiMicrosoft.

b) Se il numero di blocchi usati in un file system e molto elevato, la memoria richiesta perla gestione dei blocchi liberi mediante lista concatenata puo essere inferiore a quellarichiesta dalla bitmap, nonostante quest’ultima usi solo un bit per blocco.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 16:

Sia dato un file system che gestisca blocchi da 256 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 7 puntatori diretti a blocchi di dati

• 3 puntatori indiretti a blocchi di dati

[A] 330240 byte

[B] 67584 byte

[C] 50944 byte

[D] 266240 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 25, allora per cancellare il 60-mo recordsono necessari 35 accessi in lettura e 35 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 1 in scrittura.

197

[A] entrambe false

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe vere

198

================================================== compito N. 23 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

199

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 24 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) I seguenti sono tutti nomi di sistemi operativi realmente esistiti: Unix, MS-DOS, Solaris,Multics, CTSS, Minix, MacOS, Xenix.

b) Il modulo del sistema operativo che si occupa di determinare quando e per quanto tempoun processo deve accedere alla CPU e chiamato Interprocessor Communication Manager.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il Cambio di contesto (detto anche Context Switch) e l’insieme delle operazioni necessariead arrestare l’esecuzione di un processo P1 running e iniziare l’esecuzione di un processoP2 ready. A tal fine il kernel deve prima memorizzare nel Process Control Block di P1 ilrelativo contesto di esecuzione e caricare dal Process Control Block di P2 il contesto delprocesso che deve andare in esecuzione.

b) Un cambio di contesto eseguito troppo frequentemente puo’ deteriorare la performancecomplessiva del sistema. Nonostante cio tale operazione e una operazione sempre pre-sente in tutti i sistemi operativi con multiprogrammazione.

[A] a) falsa ; b) vera

[B] entrambe false

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

200

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i > 2) exit(0);

}exit(0);}

[A] 16

[B] 9

[C] 8

[D] 10

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 0 2P3 3 4P4 5 6P5 9 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 7

[B] 8

[C] 7.5

[D] 8.5

domanda N. 5:

201

Sia dato il seguente insieme di processi:

TA TC

P1 0 3P2 1 5P3 3 7P4 8 5P5 10 6

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 13.6

[B] 14

[C] 14.2

[D] 13.8

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = -x; x = x-1; x = x+1;signal(S); if (x > 0) then signal(R);wait(R); x = x-1; wait(T);x = -x; signal(T); print x;signal(T); else

signal(R);endif

Si determini l’output del processo P3 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente S = 0, R = 0, T = 1.

[A] 5

[B] 6

[C] 3

[D] 4

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

202

a) Il principale vantaggio dell’introduzione dei meccanismi di memoria virtuale (sia paginatache segmentata) e l’eliminazione del problema della frammentazione.

b) Si consideri un sistema con memoria virtuale che rappresenti un indirizzo virtuale v medi-ante la coppia (b, d) usando 32 bit. Se il numero di pagina b e specificato usando n = 20bit, allora la dimensione delle pagine e di 4096 byte.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 6 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 2530,1840, 785, 3421, 2013 KByte.

[A] 15360 KByte

[B] 19456 KByte

[C] 17408 KByte

[D] 21540 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

[A] 3586

[B] 15361

203

[C] 7682

[D] 8194

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){B[j/2 + i*256] = A[i][j] + C[j];

} }

[A] 12

[B] 8

[C] 11

[D] 10

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out con seconda chance, che assegna ad ogni processo 5 frame. Se determini il numerodi page faults per la squenza di riferimenti alle pagine:

7, 6, 5, 7, 4, 3, 6, 2, 1, 7, 6, 3, 5, 4, 7

[A] 9

[B] 8

[C] 10

[D] 7

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 il

204

sistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richieste per letracce (40; 65; 90; 120; 145; 125). Successivamente arrivano altre richieste all’istante t=30 perla traccia 95 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricerca complessivoper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

[A] 210

[B] 165

[C] 215

[D] 185

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un problema frequente nell’algoritmo First Come First Served (FCFS) di scheduling deldisco e la posticipazione indefinita di alcune richieste di servizio.

b) La latenza rotazionale e identica per ogni accesso al disco.

[A] entrambe vere

[B] entrambe false

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 14:

Si consideri un disco che opera a 12000 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 512 bytes ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 19200 KB/sec

[B] circa 16000 KB/sec

[C] circa 9600 KB/sec

[D] circa 8000 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

205

a) Per motivi di efficienza, la lista dei blocchi liberi e generalmente ordinata secondo l’indicedel blocco.

b) I principali compiti di un file system sono: gestire le strutture logiche del file system(directory e file), organizzare i file in blocchi e gestirne l’allocazione, verificare l’integritadei dati, gestire lo spazio libero e verificare che i dati nei file non contengano errori.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] a) falsa ; b) vera

[D] entrambe false

domanda N. 16:

Sia dato un file system di 8 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 1024 byte.

[A] 12 KB

[B] 104 KB

[C] 64 KB

[D] 13 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 60-morecord sono necessari 35 accessi in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 40 in scrittura.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] entrambe false

[D] a) falsa ; b) vera

206

================================================== compito N. 24 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

207

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 25 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno dei principali vantaggi dei sistemi operativi con architettura monolitica e’ l’efficienza.Tale approccio, e oggi comunque poco utilizzato in quanto la complessita dei modernisistemi operativi lo rende poco praticabile.

b) Uno degli svantaggi delle macchine virtuali e’ la loro difficile realizzazione in quanto edifficile ottenere una replica della macchina fisica sottostante con strumenti software.

[A] a) falsa ; b) vera

[B] entrambe false

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) In ogni sistema operativo e presente una tabella (chiamata tabella dei processi o ProcessControl Block = PCB) che tiene traccia di tutti i processi in esecuzione. In tale tabellae memorizzato per ogni processo in esecuzione un identificativo di processo (pid), unpuntatore alla memoria dove sono stati memorizzati il codice e l’area dati, nonche’ tuttele informazioni necessarie per effettuare correttamente il cambio di contesto.

b) Pur avendo alcuni campi sempre presenti in tutti i sistemi operativi, la struttura generaledel PCB dipende dalla implementazione del sistema operativo.

[A] entrambe false

[B] entrambe vere

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

208

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i >= 0) exit(0);

}exit(0);}

[A] 7

[B] 9

[C] 5

[D] 8

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 0 2P3 3 4P4 5 6P5 9 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 7

[B] 8

[C] 7.5

[D] 8.5

domanda N. 5:

209

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 1 4P3 3 6P4 7 2P5 9 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 13.0

[B] 12.8

[C] 12.6

[D] 13.2

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x-5; x = x+2; x = x+3;signal(T); if(x >= 3)then if(x==1)thenwait(R); signal(R); signal(R);signal(S); else endif

signal(T); wait(T);endifwait(S);signal(T);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 1 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 0

[B] x = 2

[C] x = 1

[D] x = −1

210

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) In un sistema con memoria virtuale con tabella delle pagine multilivello e possibile indi-rizzare un area di memoria maggiore rispetto a quella indirizzabile con una tradizionaletabella delle pagine ad un solo livello.

b) Si consideri un sistema con memoria virtuale che rappresenti un indirizzo virtuale v me-diante la coppia (b, d) usando 32 bit. Se la dimensione delle pagine e di 8192 byte allorail numero di pagina b e specificato usando n = 20 bit.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 7 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 1229, 341,2831, 1710, 2116 KByte.

[A] 15872 KByte

[B] 15360 KByte

[C] 19456 KByte

[D] 21540 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 3, 3, 123 >

211

[A] 7803

[B] 635

[C] 2171

[D] 7291

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[2][256], C[512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i*N+j] = A[i][2*j] + B[i][j];

} }

[A] 12

[B] 8

[C] 10

[D] 11

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out con seconda chance, che assegna ad ogni processo 5 frame. Se determini il numerodi page faults per la squenza di riferimenti alle pagine:

7, 6, 5, 7, 4, 3, 6, 2, 1, 7, 6, 3, 5, 4, 7

[A] 7

[B] 9

[C] 8

[D] 10

212

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0il sistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richiesteper le tracce (55; 75; 80; 110; 135; 160). Successivamente arrivano altre richieste all’istantet=30 per la traccia 105 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricercacomplessivo in ms per servire tutte le richieste secondo la politica Shortest Seek Time First(SSTF), trascurando la latenza rotazionale e il tempo di trasferimento.

[A] 210

[B] 205

[C] 155

[D] 180

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale motivo per cui l’algoritmo di scheduling del disco Shortest Seek Time First epoco utilizzato nei sistemi di tipo generale e la possibilita di posticipazione indefinita dialcune richieste.

b) Uno dei parametri per la valutazione delle strategie di scheduling del disco e la varianzadei tempi di risposta che e una misura del numero di richieste servite per unita di tempo

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 1 con 6 dischi, se il MeanTime to Failure (MTF) e di 1300 giorni e il Mean Time to Repair (MTR) e di 16.9 giorni.

[A] 0.00011

[B] 0.00003

[C] 0.00009

[D] 0.00001

213

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un modo per risolvere il problema dei numerosi accessi al disco con lo schema di allocazionedei file a lista concatenata e l’utilizzo di blocchi molto grandi. Con tale modifica si ottieneuno schema senza grossi inconvenienti legati alla gestione del disco, che e utilizzato innumerosi sistemi come, ad esempio, Solaris 2.

b) Uno svantaggio dello schema di allocazione contigua di file in un file system e la frammen-tazione esterna del disco.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe vere

[D] entrambe false

domanda N. 16:

Sia dato un file system che gestisca blocchi da 1024 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 9 puntatori diretti a blocchi di dati

• 1 puntatori indiretti a blocchi di dati

[A] 271360 byte

[B] 50944 byte

[C] 266240 byte

[D] 330240 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 50-morecord e necessario 1 accesso in lettura e 1 in scrittura.

214

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 1 in scrittura.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] a) vera ; b) falsa

[D] entrambe false

215

================================================== compito N. 25 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

216

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 26 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) La principale differenza tra un sistema operativo con architettura a strati ed uno con ar-chitettura a microkernel e che nel primo caso e consentita la comunicazione solo tramoduli appartenenti a strati adiacenti, mentre nel secondo caso e consentita la comuni-cazione attraverso tutti i moduli del sistema attraverso il kernel.

b) Per tolleranza ai guasti si intendela capacita di un sisietam operativo di correggere eventualierrori delle applicazioni degli utenti.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il meccanismo piu utilizzato dai sistemi operativi per impedire che un processo possamonopolizzare l’uso della CPU consiste nell’assegnare ai processi un numero massimo diistruzioni da eseguire.

b) Quando un processo viene rimosso dalla CPU perchee e scaduto il suo quanto di tempo,viene inserito sempre nella coda dei processi in attesa (waiting queue). Il processo vienerimosso da tale coda solo al momento di tornare in esecuzione

[A] entrambe false

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

217

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i >= 0) exit(0);

}exit(0);}

[A] 5

[B] 8

[C] 7

[D] 9

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 1 7 2P2 2 5 4P3 6 4 5P4 7 7 1P5 10 2 3

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 11

[B] 10.4

[C] 11.2

[D] 10.6

domanda N. 5:

218

Sia dato il seguente insieme di processi:

TA TC

P1 0 7P2 1 7P3 7 7P4 11 3P5 13 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 14.4

[B] 14.8

[C] 15

[D] 14.6

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x+2; x = x*2; x = x+1;if (x > 0) then signal(T); signal(S);

x = -1; wait(S); wait(T)endif x = -x; x = x+1print x; signal(R); signal(S);

Si determini l’output del processo P1 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente R = 0, S = 0, T = 1.

[A] -2

[B] -1

[C] -3

[D] -4

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

219

a) Nei moderni sistemi operativi le tecniche di gestione della memoria centrale sono pocoimportanti a causa del basso costo economico delle stesse.

b) Andando dai livelli di memoria piu bassi (dispositivi secondari e terziari) a quelli piu alti(registri e cache), il costo economico per bit aumenta.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 7 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 2343,1724, 489, 1270, 2110 KByte.

[A] 16384 KByte

[B] 15360 KByte

[C] 19456 KByte

[D] 21504 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 0, 3, 408 >

[A] 1944

[B] 7803

[C] 6267

220

[D] 4731

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[2][256], C[512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i*N+j] = A[i][2*j] + B[i][j];

} }

[A] 10

[B] 11

[C] 12

[D] 8

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out con seconda chance, che assegna ad ogni processo 5 frame. Se determini il numerodi page faults per la squenza di riferimenti alle pagine:

5, 4, 3, 5, 2, 1, 4, 6, 3, 5, 2, 5, 3, 1, 2

[A] 9

[B] 10

[C] 8

[D] 7

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0il sistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richiesteper le tracce (55; 75; 80; 110; 135; 160). Successivamente arrivano altre richieste all’istante

221

t=30 per la traccia 105 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricercacomplessivo in ms per servire tutte le richieste secondo la politica Shortest Seek Time First(SSTF), trascurando la latenza rotazionale e il tempo di trasferimento.

[A] 180

[B] 210

[C] 205

[D] 155

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale problema dei livelli 3 e 4 dei sistemi RAID che li rende meno preferibili rispettoal livello 5 e la necessita della generazione della parita, che comporta un supplemento dioverhead.

b) Utilizzando un disco con 7 ms di tempo di seek, 10 msec di latenza media rotazionale etempo di trasferimento di 20 msec, il tempo necessario per trasferire in memoria centraleun file composto da 15 blocchi, distanti mediamente 10 tracce, e di 1.5 secondi esatti.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 5 con 5 dischi, se il MeanTime to Failure (MTF) e di 1600 giorni e il Mean Time to Repair (MTR) e di 23.04 giorni.

[A] 0.0002

[B] 0.00003

[C] 0.00011

[D] 0.00009

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

222

a) Un modo per risolvere il problema dei numerosi accessi al disco con lo schema di allocazionedei file a lista concatenata e l’utilizzo di blocchi molto grandi. Con tale modifica si ottieneuno schema senza grossi inconvenienti legati alla gestione del disco, che e utilizzato innumerosi sistemi come, ad esempio, Solaris 2.

b) Uno svantaggio dello schema di allocazione contigua di file in un file system e la frammen-tazione esterna del disco.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe vere

[D] entrambe false

domanda N. 16:

Sia dato un file system che gestisca blocchi da 256 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 7 puntatori diretti a blocchi di dati

• 3 puntatori indiretti a blocchi di dati

[A] 67584 byte

[B] 50944 byte

[C] 266240 byte

[D] 330240 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 35, allora per cancellare il 60-mo recordsono necessari 25 accessi in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 25 in scrittura.

[A] a) falsa ; b) vera

223

[B] entrambe vere

[C] a) vera ; b) falsa

[D] entrambe false

224

================================================== compito N. 26 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

225

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 27 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il livello software che contiene le componenti fondamentali di un sistema operativo e’ chiam-ato kernel. Al kernel appartengono i moduli per: la gestione della memoria centrale, ilcontrollo dei processi, la gestione dell’I/O e la gestione della memoria secondaria. Aquesto elenco di componenti fondamentali del kernel va aggiunto solo il sottosistema perla gestione delle interfacce grafiche e per l’interprete del linguaggio di comando.

b) I sistemi operativi hanno lo scopo primario di permettere alle applicazioni software diinteragire con l’hardware sottostante, e di gestire le risorse hardware e software delsistema in maniera efficiente.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) L’insieme delle informazioni che caratterizzano un processo in esecuzione e che sono mem-orizzate nel Process Control Block e chiamato contesto. Per tale motivo la proceura chesospende un processo in esecuzione per mandarne un altro e detta cambio di contesto(context switch).

b) Il tempo medio di esecuzione di un insieme di processi di un sistema operativo time sharingdiminuisce sempre quando aumenta la frequenza dei context switch, in quanto i processiin esecuzione si avvicendano piu rapidemente nell’uso della CPU.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

226

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i >= 0) exit(0);

}exit(0);}

[A] 9

[B] 5

[C] 8

[D] 7

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 1 7 2P2 2 5 4P3 6 4 5P4 7 7 1P5 10 2 3

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 10.4

[B] 11.2

[C] 10.6

[D] 11

227

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 3 6P3 5 6P4 9 4P5 13 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 18.0

[B] 18.4

[C] 18.8

[D] 17.6

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x+2; x = x*2; x = x+1;if (x > 0) then signal(T); signal(S);

x = -1; wait(S); wait(T)endif x = -x; x = x+1print x; signal(R); signal(S);

Si determini l’output del processo P1 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente R = 0, S = 0, T = 1.

[A] -2

[B] -1

[C] -3

[D] -4

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

228

a) Nessuna delle principali strategie di allocazione contigua della memoria con partizionivariabili (strategia first fit, strategia best-fit e strategia worst-fit) comporta problemi diframmentazione interna.

b) Il principale svantaggio della strategia first fit rispetto alle altre due strategie di allocazionecontigua della memoria e il maggiore overhead.

[A] entrambe false

[B] entrambe vere

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 7 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 1229, 341,2831, 1710, 2116 KByte.

[A] 21540 KByte

[B] 15872 KByte

[C] 15360 KByte

[D] 19456 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

[A] 7666

[B] 11266

229

[C] 14338

[D] 3074

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[512], B[256], C[2][512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i][2*j] = A[i*N+j] + B[j];

} }

[A] 12

[B] 11

[C] 10

[D] 8

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out con seconda chance, che assegna ad ogni processo 5 frame. Se determini il numerodi page faults per la squenza di riferimenti alle pagine:

7, 6, 5, 7, 4, 3, 6, 2, 1, 7, 6, 3, 5, 4, 7

[A] 9

[B] 8

[C] 10

[D] 7

domanda N. 12:

Sia dato un disco con 2000 tracce. Una operazione di lettura di un blocco richiede 3 ms

230

per lo spostamento tra due tracce adiacenti, 5 ms per la latenza rotazionale e 10 ms per iltrasferimento di un blocco di dati. Si calcoli il tempo necessario per leggere un file costituitoda 45 blocchi nel caso in cui questi ultimi siano distanti mediamente 15 tracce l’uno dall’altro.

[A] 2.04 sec

[B] 8.44 sec

[C] 2.7 sec

[D] 12.15 sec

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Con un carico del disco pesante, la politica di scheduling SCAN andrebbe sempre preferitaalla politica C-SCAN a causa dell’overhead del ”ritorno a vuoto” della testina che inquesto caso diventa ancora piu significativo.

b) Il livello RAID con il piu alto overhead di memoria secondaria e il livello 5, a causa dellospazio utilizzato per la gestione delle informazioni relative alla parita.

[A] entrambe false

[B] entrambe vere

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 14:

Si consideri un disco che opera a 12000 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 1024 byte ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 8000 KB/sec

[B] circa 32000 KB/sec

[C] circa 16000 KB/sec

[D] circa 9600 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

231

a) Il principale vantaggio dello schema di allocazione di file con lista concatenata e l’elevataefficienza nella ricerca dei blocchi, poiche sono noti numerosi algoritmi efficienti per lagestione delle liste.

b) La File Allocation Table (FAT) di Microsoft e uno speciale schema di allocazione dei filesu disco che rientra tra le tecniche di allocazione dei file in blocchi contigui.

[A] entrambe false

[B] a) vera ; b) falsa

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 16:

Sia dato un file system di 2 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 1024 byte.

[A] ∼ 2.7 KB

[B] ∼ 6 KB

[C] ∼ 64 KB

[D] ∼ 16 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 25 allora per cancellare il 70-mo record sono necessari30 accessi in lettura e 30 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 35, allora per cancellare il 75-mo recordsono necessari 40 accessi in lettura e 1 in scrittura.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

232

================================================== compito N. 27 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

233

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 28 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) I seguenti sono tutti nomi di sistemi operativi realmente esistiti: Unix, MS-DOS, Solaris,Multics, CTSS, Minix, MacOS, Xenix.

b) Il modulo del sistema operativo che si occupa di determinare quando e per quanto tempoun processo deve accedere alla CPU e chiamato Interprocessor Communication Manager.

[A] entrambe vere

[B] entrambe false

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il sistema operativo accede molto spesso ai Process Control Blocks. Di conseguenza moltiprocessori possiedono un registro hardware che fa riferimento al PCB del processo inesecuzione in modo da facilitare il cambio di contesto.

b) Una delle operazioni che un processo puo’ effettuare quando riceve un segnale e di ignorarlo.Con tale termine si intende la capacita di redirigere il segnale ad un altro processo.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:

234

main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i == 1) exit(0);

}exit(0);}

[A] 6

[B] 8

[C] 9

[D] 10

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 1 4P3 3 6P4 7 2P5 10 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 8.2

[B] 8.0

[C] 8.4

[D] 8.6

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 7P2 1 7P3 7 7P4 11 3P5 13 2

235

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 15

[B] 14.6

[C] 14.4

[D] 14.8

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = 2*x; x = x*2; x = x+1;if (x > 0) then signal(T); signal(S);

x = x+1; wait(T)signal(S); x = x-1

else signal(R);x = x-1;signal(T);

endifwait(R);print x;

Si determini l’output del processo P1 supponendo che inizialmente x = −1 e i tre semaforibinari siano inizializzati rispettivamente R = 1, S = 0, T = 0.

[A] 5

[B] 4

[C] -5

[D] -4

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il tempo necessario a prelevare un dato dalla memoria in un sistema operativo che usa lamemoria virtuale e lo stesso di un sistema operativo che non ne fa uso.

236

b) Sia dato un processo di 6 pagine, in un sistema che assegna 5 frame ad ogni processo. Sel’esecuzione di tale processo richiede 15 riferimenti in memoria, l’algoritmo di paginazioneFIFO richiede almeno 6 page faults.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 180 ns e che il tempo di accesso airegistri TLB richieda 30 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 280 ns.

[A] 61.111%

[B] 58%

[C] 65%

[D] 68.3333%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 3, 3, 123 >

[A] 635

[B] 2171

[C] 7291

[D] 7803

237

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A e B, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[1024], B[2][512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N/2; j++){B[i][2*j] = A[i*N+j] + A[i*N+2*j];

} }

[A] 10

[B] 8

[C] 11

[D] 12

domanda N. 11:

Si consideri un sistema opereativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Si determini il numero di pagefaults per la seguente sequenza di riferimenti alle pagine:

6, 1, 4, 6, 5, 3, 1, 2, 4, 6, 5, 6, 4, 3, 5

[A] 10

[B] 9

[C] 8

[D] 7

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 50 e in coda ci sono richieste per letracce (58; 15; 23; 25; 65; 55). Successivamente arrivano altre richieste all’istante t=7 per latraccia 49 e all’istante t=50 per la traccia 57. Si calcoli il tempo di ricerca complessivo perservire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurando lalatenza rotazionale e il tempo di trasferimento.

238

[A] 117

[B] 98

[C] 107

[D] 65

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale problema dei livelli 3 e 4 dei sistemi RAID che li rende meno preferibili rispettoal livello 5 e la necessita della generazione della parita, che comporta un supplemento dioverhead.

b) Utilizzando un disco con 7 ms di tempo di seek, 10 msec di latenza media rotazionale etempo di trasferimento di 20 msec, il tempo necessario per trasferire in memoria centraleun file composto da 15 blocchi, distanti mediamente 10 tracce, e di 1.5 secondi esatti.

[A] a) vera ; b) falsa

[B] entrambe false

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 14:

Si consideri un disco che opera a 7200 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 512 bytes ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 19200 KB/sec

[B] circa 9600 KB/sec

[C] circa 4800 KB/sec

[D] circa 13400 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un vantaggio dello schema di allocazione contigua di file in un file system e la velocita diaccesso poiche non si devono effettuare ulteriori operazioni di ricerche dei blocchi dopoaver individuato il primo blocco

239

b) Un problema nella prima versione della File Allocation Table di Microsoft (FAT12) era laframmentazione interna per i dischi di grandi dimensioni. Tale problema sussiste anchecon le nuove versioni FAT16 e FAT32, per cui esse vengono oramai utilizzate solo per ifile systen dei floppy disk.

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe false

[D] entrambe vere

domanda N. 16:

Sia dato un file system di 8 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 512 byte.

[A] 12 KB

[B] 13 KB

[C] 32 KB

[D] 28 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 30 allora per cancellare il 70-mo record sono necessari40 accessi in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 10, allora per cancellare il 35-mo recordsono necessari 25 accessi in lettura e 25 in scrittura.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] a) falsa ; b) vera

[D] entrambe false

240

================================================== compito N. 28 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

241

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 29 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno dei vantaggi delle macchine virtuali e’ la possibilita’ di creare ambienti di elaborazionecompletamente separati, permettendo una protezione efficace delle risorse del sistemaoperativo e dei programmi tra loro.

b) Uno dei vantaggi delle macchine virtuali e’ la loro facile realizzazione, in quanto e’ suf-ficiente replicare una copia di un sistema operativo monoutente in piu’ partizioni deldisco, dando cosi’ ad ogni utente l’illusione di essere l’unico utente del sistema.

[A] entrambe false

[B] entrambe vere

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il sistema operativo accede molto spesso ai Process Control Blocks. Di conseguenza moltiprocessori possiedono un registro hardware che fa riferimento al PCB del processo inesecuzione in modo da facilitare il cambio di contesto.

b) Una delle operazioni che un processo puo’ effettuare quando riceve un segnale e di ignorarlo.Con tale termine si intende la capacita di redirigere il segnale ad un altro processo.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

242

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i == 2) exit(0);

}exit(0);}

[A] 10

[B] 14

[C] 12

[D] 8

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 0 6 3P2 3 4 5P3 4 6 4P4 11 2 5P5 14 4 1

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 8.4

[B] 8.8

[C] 8.6

[D] 8.2

domanda N. 5:

243

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 1 4P3 3 6P4 7 2P5 9 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 12.8

[B] 12.6

[C] 13.2

[D] 13.0

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x+3; x = x-5; x = x+2;if(x==4)then signal(R); if(x >= 5)then

signal(S); wait(S); signal(S);endif signal(T); elsewait(R); signal(R);

endifwait(T);signal(R);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 0 e T = 1, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 3

[B] x = 2

[C] x = 4

[D] x = 1

244

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) In un sistema con memoria virtuale con tabella delle pagine multilivello e possibile indi-rizzare un area di memoria maggiore rispetto a quella indirizzabile con una tradizionaletabella delle pagine ad un solo livello.

b) Si consideri un sistema con memoria virtuale che rappresenti un indirizzo virtuale v me-diante la coppia (b, d) usando 32 bit. Se la dimensione delle pagine e di 8192 byte allorail numero di pagina b e specificato usando n = 20 bit.

[A] entrambe false

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 180 ns e che il tempo di accesso airegistri TLB richieda 30 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 280 ns.

[A] 68.3333%

[B] 61.111%

[C] 58%

[D] 65%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 1, 2, 341 >

245

[A] 5461

[B] 3413

[C] 1877

[D] 6997

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[512], B[256], C[2][512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i][2*j] = A[i*N+j] + B[j];

} }

[A] 12

[B] 11

[C] 10

[D] 8

domanda N. 11:

Si consideri un sistema opereativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Si determini il numero di pagefaults per la seguente sequenza di riferimenti alle pagine:

7, 4, 7, 1, 7, 3, 6, 3, 1, 3, 4, 7, 2, 5, 7

[A] 9

[B] 8

[C] 10

[D] 7

246

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 50 e in coda ci sono richieste per letracce (58; 15; 23; 25; 65; 55). Successivamente arrivano altre richieste all’istante t=7 per latraccia 49 e all’istante t=50 per la traccia 57. Si calcoli il tempo di ricerca complessivo perservire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurando lalatenza rotazionale e il tempo di trasferimento.

[A] 98

[B] 107

[C] 65

[D] 117

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le tecniche di ottimizzazione rotazionale del disco hanno avuto una importanza crescentenegli ultimi anni perche i moderni dischi rigidi esibiscono tempi di seek e latenze mediedello stesso ordine di grandezza.

b) Il livello RAID 1 e il migliore per ambienti in cui l’affidabilita ha una priorita superiore alcosto o alle prestazioni.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 5 con 5 dischi, se il MeanTime to Failure (MTF) e di 1400 giorni e il Mean Time to Repair (MTR) e di 19.6 giorni.

[A] 0.00011

[B] 0.0001

[C] 0.00003

[D] 0.00009

247

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Rispetto allo schema di allocazione dei file con lista concatenata, il principale vantaggiodella allocazione indicizzata dei file in un file system e la possibilita di effettuare laricerca nel solo blocco indice, migliorando enormemente i tempi di attraversamento delfile.

b) Lo schema di gestione dei blocchi liberi basato sulla bitmap introduce sempre un minorsovraccarico di memoria rispetto alla lista dei blocchi liberi, poiche mediante la bitmapviene utilizzato un solo bit per blocco, mentre la lista richiede l’indice del blocco chepuo’ essere grande 16 o 32 bit.

[A] a) falsa ; b) vera

[B] entrambe false

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 16:

Sia dato un file system che gestisca blocchi da 256 byte e indirizzi da 16 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 8 puntatori diretti a blocchi di dati

• 2 puntatori indiretti a blocchi di dati

[A] 266240 byte

[B] 67584 byte

[C] 271360 byte

[D] 50944 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 30 allora per cancellare il 70-mo record sono necessari40 accessi in lettura e 1 in scrittura.

248

b) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 10, allora per cancellare il 35-mo recordsono necessari 25 accessi in lettura e 25 in scrittura.

[A] entrambe false

[B] entrambe vere

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

249

================================================== compito N. 29 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

250

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 30 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno dei principali vantaggi dei sistemi operativi con architettura monolitica e’ l’efficienza.Tale approccio, e oggi comunque poco utilizzato in quanto la complessita dei modernisistemi operativi lo rende poco praticabile.

b) Uno degli svantaggi delle macchine virtuali e’ la loro difficile realizzazione in quanto edifficile ottenere una replica della macchina fisica sottostante con strumenti software.

[A] a) falsa ; b) vera

[B] entrambe false

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno svantaggio nell’uso dei threads rispetto all’uso di piu processi cooperanti che comuni-cano attraverso una memoria condivisa e la necessita della sincronizzazione.

b) Il meccanismo piu utilizzato dai sistemi operativi di tipo generale per impedire che unprocesso possa monopolizzare l’uso della CPU , consiste nell’assegnare ai processi untempo massimo di utilizzo continuativo della CPU, scaduto il quale il processo vienesospeso.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe false

[D] entrambe vere

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

251

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i < 3) exit(0);

}exit(0);}

[A] 9

[B] 6

[C] 8

[D] 5

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 1 7 2P2 2 5 4P3 6 4 5P4 7 7 1P5 10 2 3

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 11.2

[B] 10.6

[C] 11

[D] 10.4

domanda N. 5:

252

Sia dato il seguente insieme di processi:

TA TC

P1 0 5P2 3 6P3 5 7P4 8 6P5 16 3

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 13.8

[B] 13.6

[C] 14

[D] 14.2

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = 2*x; x = x*2; x = x+1;if (x > 0) then signal(T); signal(S);

x = x+1; wait(T)signal(S); x = x-1

else signal(R);x = x-1;signal(T);

endifwait(R);print x;

Si determini l’output del processo P1 supponendo che inizialmente x = −1 e i tre semaforibinari siano inizializzati rispettivamente R = 1, S = 0, T = 0.

[A] -5

[B] -4

[C] 5

[D] 4

253

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il significativo overhrad associato alla tecnica del compattamento usata per ridurre il prob-lema della frammentazione esterna, rende tale tecnica poco adatta per un utilizzo neisistemi operativi real-time.

b) In un sistema operativo che gestisce la memoria centrale mediante partizioni fisse, i registrichiamati base e limit vengono utilizzati per decidere in quale partizione allocare i processi.

[A] entrambe false

[B] a) vera ; b) falsa

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 190 ns e che il tempo di accesso airegistri TLB richieda 25 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 272 ns.

[A] 68%

[B] 70%

[C] 73.5%

[D] 76.6666%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

254

[A] 3070

[B] 6146

[C] 9218

[D] 14850

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[2][256], C[512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i*N+j] = A[i][2*j] + B[i][j];

} }

[A] 10

[B] 11

[C] 12

[D] 8

domanda N. 11:

Si consideri un sistema opereativo con paginazione su richiesta basato sull’algoritmo FIFO conseconda chance, che assegna ad ogni processo 5 frame. Si determini il numero di page faultsper la seguente sequenza di riferimenti alle pagine:

7, 4, 5, 7, 3, 6, 4, 1, 2, 7, 4, 6, 5, 4, 7

[A] 10

[B] 7

[C] 8

[D] 9

255

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 50 e in coda ci sono richieste per letracce (58; 15; 23; 25; 65; 55). Successivamente arrivano altre richieste all’istante t=7 per latraccia 49 e all’istante t=50 per la traccia 57. Si calcoli il tempo di ricerca complessivo perservire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurando lalatenza rotazionale e il tempo di trasferimento.

[A] 65

[B] 117

[C] 98

[D] 107

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un problema frequente nell’algoritmo First Come First Served (FCFS) di scheduling deldisco e la posticipazione indefinita di alcune richieste di servizio.

b) La latenza rotazionale e identica per ogni accesso al disco.

[A] entrambe vere

[B] entrambe false

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 14:

Si consideri un disco che opera a 7200 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 512 bytes ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 9600 KB/sec

[B] circa 4800 KB/sec

[C] circa 13400 KB/sec

[D] circa 19200 KB/sec

256

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale vantaggio dello schema di allocazione di file con lista concatenata e l’elevataefficienza nella ricerca dei blocchi, poiche sono noti numerosi algoritmi efficienti per lagestione delle liste.

b) La File Allocation Table (FAT) di Microsoft e uno speciale schema di allocazione dei filesu disco che rientra tra le tecniche di allocazione dei file in blocchi contigui.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] a) falsa ; b) vera

[D] entrambe false

domanda N. 16:

Sia dato un file system che gestisca blocchi da 1024 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 9 puntatori diretti a blocchi di dati

• 1 puntatori indiretti a blocchi di dati

[A] 330240 byte

[B] 271360 byte

[C] 50944 byte

[D] 266240 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 50-morecord e necessario 1 accesso in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 1 in scrittura.

257

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

258

================================================== compito N. 30 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

259

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 31 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un sistema operativo che e in grado di utilizzare in maniera efficiente le risorse che vengonoaggiunte al sistema e detto espandibile.

b) Le chiamate di sistema operano in maniera simile alle interruzioni, nel senso che quandoavviene una chiamata di sistema, il sistema si porta in modalita kernel e serve la richiestamediante una apposita routine di servizio.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il meccanismo piu utilizzato dai sistemi operativi per impedire che un processo possamonopolizzare l’uso della CPU consiste nell’assegnare ai processi un numero massimo diistruzioni da eseguire.

b) Quando un processo viene rimosso dalla CPU perchee e scaduto il suo quanto di tempo,viene inserito sempre nella coda dei processi in attesa (waiting queue). Il processo vienerimosso da tale coda solo al momento di tornare in esecuzione

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe vere

[D] entrambe false

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

260

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i < 3) exit(0);

}exit(0);}

[A] 6

[B] 8

[C] 5

[D] 9

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 0 6 3P2 3 4 5P3 4 6 4P4 11 2 5P5 14 4 1

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 8.2

[B] 8.4

[C] 8.8

[D] 8.6

domanda N. 5:

261

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 1 6P3 3 6P4 7 4P5 9 4

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 20.4

[B] 20.0

[C] 19.6

[D] 19.2

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = 2*x; x = x*2; x = x+1;if (x > 0) then signal(T); signal(S);

x = x+1; wait(T)signal(S); x = x-1

else signal(R);x = x-1;signal(T);

endifwait(R);print x;

Si determini l’output del processo P1 supponendo che inizialmente x = −1 e i tre semaforibinari siano inizializzati rispettivamente R = 1, S = 0, T = 0.

[A] 4

[B] -5

[C] -4

[D] 5

262

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) I semafori possono essere usati in sistemi con allocazione contigua della memoria per evitareche i processi effetuino accessi illegali (ad esempio all’area di memoria assegnata alsistema operativo).

b) Per limitare il problema della frammentazione esterna, la tecnica del compattamento uniscebuchi adiacenti in memoria, mentre la tecnica della coalescenza rialloca i processi in ese-cuzione in maniera contigua in maniera da creare un unico spazio di memoria disponibileper i nuovi processi.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 190 ns e che il tempo di accesso airegistri TLB richieda 25 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 272 ns.

[A] 70%

[B] 73.5%

[C] 76.6666%

[D] 68%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

263

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

[A] 13314

[B] 10754

[C] 12802

[D] 5122

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[256];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){B[j/2 + i*256] = A[i][j] + C[j/2];

} }

[A] 8

[B] 12

[C] 10

[D] 11

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Se determini il numero di pagefaults per la squenza di riferimenti alle pagine:

5, 3, 2, 5, 2, 4, 1, 6, 4, 1, 3, 7, 4, 6, 2

[A] 8

[B] 10

[C] 7

264

[D] 9

domanda N. 12:

Sia dato un disco con 2000 tracce. Una operazione di lettura di un blocco richiede 3 msper lo spostamento tra due tracce adiacenti, 5 ms per la latenza rotazionale e 10 ms per iltrasferimento di un blocco di dati. Si calcoli il tempo necessario per leggere un file costituitoda 45 blocchi nel caso in cui questi ultimi siano distanti mediamente 15 tracce l’uno dall’altro.

[A] 8.44 sec

[B] 2.7 sec

[C] 12.15 sec

[D] 2.04 sec

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) L’algoritmo di scheduling del disco First Come First Served (FCFS) e l’algoritmo menoutilizzato nei sistemi interattivi di tipo generale perche e quello che ha il piu alto overheadper la gestione delle strutture dati necessarie all’algoritmo stesso.

b) I principali vantaggi di un sistema RAID 0 sono la semplicita di realizzazione e l’elevatavelocita di trasferimento.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 1 con 6 dischi, se il MeanTime to Failure (MTF) e di 1300 giorni e il Mean Time to Repair (MTR) e di 16.9 giorni.

[A] 0.00001

[B] 0.00011

[C] 0.00003

[D] 0.00009

265

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale vantaggio dello schema di allocazione di file con lista concatenata e l’elevataefficienza nella ricerca dei blocchi, poiche sono noti numerosi algoritmi efficienti per lagestione delle liste.

b) La File Allocation Table (FAT) di Microsoft e uno speciale schema di allocazione dei filesu disco che rientra tra le tecniche di allocazione dei file in blocchi contigui.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] a) falsa ; b) vera

[D] entrambe false

domanda N. 16:

Sia dato un file system di 2 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 512 byte.

[A] 6 KB

[B] 12 KB

[C] 48 KB

[D] 32 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 25, allora per cancellare il 60-mo recordsono necessari 35 accessi in lettura e 35 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 1 in scrittura.

[A] a) falsa ; b) vera

266

[B] a) vera ; b) falsa

[C] entrambe vere

[D] entrambe false

267

================================================== compito N. 31 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

268

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 32 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno dei principali difetti dei sistemi operativi con architettura monolitica e’ l’inefficienza.Tale approccio, nonostante permetta uno sviluppo rapido del sistema, e’ per questomotivo sempre meno utilizzato per la progettazione dei sistemi operativi di tipo generale

b) Uno dei vantaggi dei sistemi operativi con architettura stratificata e’ la possibilita’ dimodificare rapidamente e semplicemente parte del sistema operativo senza interveniresugli altri livelli dell’architettura software.

[A] entrambe false

[B] a) vera ; b) falsa

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le prestazioni di una qualunque applicazione multithreading e sempre piu’ efficiente nelcaso di una implementazione dei thread utente secondo il modello molti a uno rispettoad una implementazione secondo il modello uno a uno. Cio e’ dovuto al fatto che con ilmodello molti a uno, i thread a livello utente non richiamano il kernel per le operazionidi scheduling e sincronizzazione.

b) Uno svantaggio dell’implementazione dei threads secondo il modello uno a uno e la scarsaportabilita delle applicazioni, in quanto esse devono interfacciarsi direttamente con lechiamate di sistema relative al sistema operativo su cui deve essere eseguita l’applicazione.I sistemi operativi conformi ad interfacce standard, ad esempio POSIX, riducono il prob-lema.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

269

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i > 1) exit(0);

}exit(0);}

[A] 10

[B] 12

[C] 9

[D] 8

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 1 8P3 4 3P4 9 2P5 12 4

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 10.2

[B] 9.8

[C] 10.0

[D] 10.4

270

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 5P2 3 6P3 5 7P4 8 6P5 16 3

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 14.2

[B] 13.8

[C] 13.6

[D] 14

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(S) wait(R) wait(T)x = 2+x; if (x < 0) then x = x+1;signal(T); x = x-1; signal(R);wait(S); signal(S); wait(T);print x; else x = x+1;

x = x+1; signal(S);signal(T);

endif

Si determini l’output del processo P1 supponendo che inizialmente x = −1 e i tre semaforibinari siano inizializzati rispettivamente S = 1, R = 0, T = 0.

[A] 4

[B] 3

[C] 5

[D] 6

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

271

a) Nessuna delle principali strategie di allocazione contigua della memoria con partizionivariabili (strategia first fit, strategia best-fit e strategia worst-fit) comporta problemi diframmentazione interna.

b) Il principale svantaggio della strategia first fit rispetto alle altre due strategie di allocazionecontigua della memoria e il maggiore overhead.

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe false

[D] entrambe vere

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 180 ns e che il tempo di accesso airegistri TLB richieda 25 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 232 ns.

[A] 85%

[B] 91%

[C] 88%

[D] 82%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 0, 3, 408 >

[A] 7803

[B] 6267

272

[C] 4731

[D] 1944

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A e B, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[1024], B[2][512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N/2; j++){B[i][2*j] = A[i*N+j] + A[i*N+2*j];

} }

[A] 8

[B] 11

[C] 12

[D] 10

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo del Work-ing Set con dimensione della finestra di osservazione w = 6. Si determini, a partire dall’istantet = 6, il minimo e massimo numero di frame che il sistema assegna ad un processo di 6 pagineche vengono referenziate nel seguente ordine:

4, 2, 1, 1, 6, 6, 4, 1, 1, 6, 5, 6, 3, 5, 3, 5, 4, 3, 2, 3, 2, 1, 3, 2, 1

[A] min=3, max=4

[B] min=2, max=5

[C] min=3, max=5

[D] min=2, max=4

domanda N. 12:

273

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 50 e in coda ci sono richieste per letracce (58; 15; 23; 25; 65; 55). Successivamente arrivano altre richieste all’istante t=7 per latraccia 49 e all’istante t=50 per la traccia 57. Si calcoli il tempo di ricerca complessivo perservire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurando lalatenza rotazionale e il tempo di trasferimento.

[A] 98

[B] 107

[C] 65

[D] 117

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) La motivazione originale per l’introduzione dei sistemi RAID e stata l’osservazione che lavelocita di trasferimento cresceva ad un tasso molto inferiore a quello della crescita siadella capacita dei dischi sia della potenza di elaborazione delle CPU.

b) L’algorimo di scheduling del disco First Come First Served tende ad avere una accettabilevarianza dei tempi di risposta a spese del numero di richieste servite per unita di tempo.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 5 con 5 dischi, se il MeanTime to Failure (MTF) e di 1400 giorni e il Mean Time to Repair (MTR) e di 19.6 giorni.

[A] 0.00009

[B] 0.00011

[C] 0.0001

[D] 0.00003

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

274

a) Un vantaggio dello schema di allocazione contigua di file in un file system e la velocita diaccesso poiche non si devono effettuare ulteriori operazioni di ricerche dei blocchi dopoaver individuato il primo blocco

b) Un problema nella prima versione della File Allocation Table di Microsoft (FAT12) era laframmentazione interna per i dischi di grandi dimensioni. Tale problema sussiste anchecon le nuove versioni FAT16 e FAT32, per cui esse vengono oramai utilizzate solo per ifile systen dei floppy disk.

[A] entrambe false

[B] entrambe vere

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 16:

Sia dato un file system che gestisca blocchi da 1024 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 9 puntatori diretti a blocchi di dati

• 1 puntatori indiretti a blocchi di dati

[A] 271360 byte

[B] 50944 byte

[C] 266240 byte

[D] 330240 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 25, allora per cancellare il 60-mo recordsono necessari 35 accessi in lettura e 35 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 1 in scrittura.

[A] a) falsa ; b) vera

275

[B] a) vera ; b) falsa

[C] entrambe vere

[D] entrambe false

276

================================================== compito N. 32 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

277

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 33 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno dei principali vantaggi dei sistemi operativi con architettura monolitica e’ l’efficienza.Tale approccio, e oggi comunque poco utilizzato in quanto la complessita dei modernisistemi operativi lo rende poco praticabile.

b) Uno degli svantaggi delle macchine virtuali e’ la loro difficile realizzazione in quanto edifficile ottenere una replica della macchina fisica sottostante con strumenti software.

[A] a) falsa ; b) vera

[B] entrambe false

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) In ogni sistema operativo e presente una tabella (chiamata tabella dei processi o ProcessControl Block = PCB) che tiene traccia di tutti i processi in esecuzione. In tale tabellae memorizzato per ogni processo in esecuzione un identificativo di processo (pid), unpuntatore alla memoria dove sono stati memorizzati il codice e l’area dati, nonche’ tuttele informazioni necessarie per effettuare correttamente il cambio di contesto.

b) Pur avendo alcuni campi sempre presenti in tutti i sistemi operativi, la struttura generaledel PCB dipende dalla implementazione del sistema operativo.

[A] entrambe false

[B] entrambe vere

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

278

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i > 2) exit(0);

}exit(0);}

[A] 8

[B] 10

[C] 16

[D] 9

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 0 6 3P2 3 4 5P3 4 6 4P4 11 2 5P5 14 4 1

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 8.2

[B] 8.4

[C] 8.8

[D] 8.6

domanda N. 5:

279

Sia dato il seguente insieme di processi:

TA TC

P1 0 7P2 1 7P3 7 7P4 11 3P5 13 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 14.4

[B] 14.8

[C] 15

[D] 14.6

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x-5; x = x+2; x = x+3;signal(T); if(x >= 5)then if(x==1)thenwait(R); signal(T); signal(R);signal(S); else endif

signal(R); wait(T);endifwait(S);signal(T);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 1 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 2

[B] x = 3

[C] x = 4

[D] x = 1

280

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il tempo necessario a prelevare un dato dalla memoria in un sistema operativo che usa lamemoria virtuale e lo stesso di un sistema operativo che non ne fa uso.

b) Sia dato un processo di 6 pagine, in un sistema che assegna 5 frame ad ogni processo. Sel’esecuzione di tale processo richiede 15 riferimenti in memoria, l’algoritmo di paginazioneFIFO richiede almeno 6 page faults.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 180 ns e che il tempo di accesso airegistri TLB richieda 30 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 280 ns.

[A] 65%

[B] 68.3333%

[C] 61.111%

[D] 58%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 2, 1, 248 >

281

[A] 1272

[B] 3320

[C] 4856

[D] 6904

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){B[j/2 + i*256] = A[i][j] + C[j];

} }

[A] 11

[B] 10

[C] 12

[D] 8

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Se determini il numero di pagefaults per la squenza di riferimenti alle pagine:

5, 4, 3, 5, 2, 1, 4, 6, 3, 5, 2, 5, 3, 1, 7

[A] 12

[B] 10

[C] 11

[D] 9

282

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 50 e in coda ci sono richieste per letracce (58; 15; 23; 25; 65; 55). Successivamente arrivano altre richieste all’istante t=7 per latraccia 49 e all’istante t=50 per la traccia 57. Si calcoli il tempo di ricerca complessivo perservire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurando lalatenza rotazionale e il tempo di trasferimento.

[A] 107

[B] 65

[C] 117

[D] 98

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) L’algoritmo di scheduling del disco First Come First Served (FCFS) e l’algoritmo menoutilizzato nei sistemi interattivi di tipo generale perche e quello che ha il piu alto overheadper la gestione delle strutture dati necessarie all’algoritmo stesso.

b) I principali vantaggi di un sistema RAID 0 sono la semplicita di realizzazione e l’elevatavelocita di trasferimento.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 14:

Si consideri un disco che opera a 7200 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 1024 byte ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 4800 KB/sec

[B] circa 13400 KB/sec

[C] circa 19200 KB/sec

283

[D] circa 9600 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Lo schema di allocazione basato sulla File Allocation Table (FAT) di Microsoft e unoschema che, con poca richiesta di memoria (necessaria solo per la tabella) e con pochiacccessi al disco assicura una gestione efficiente del file system anche se di grandi di-mensioni. Per tale motivo e ancora alla base di tutti i file system dei sistemi operativiMicrosoft.

b) Se il numero di blocchi usati in un file system e molto elevato, la memoria richiesta perla gestione dei blocchi liberi mediante lista concatenata puo essere inferiore a quellarichiesta dalla bitmap, nonostante quest’ultima usi solo un bit per blocco.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 16:

Sia dato un file system che gestisca blocchi da 256 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 7 puntatori diretti a blocchi di dati

• 3 puntatori indiretti a blocchi di dati

[A] 266240 byte

[B] 330240 byte

[C] 67584 byte

[D] 50944 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 50-morecord e necessario 1 accesso in lettura e 1 in scrittura.

284

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 1 in scrittura.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] a) vera ; b) falsa

[D] entrambe false

285

================================================== compito N. 33 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

286

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 34 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un sistema operativo che e in grado di utilizzare in maniera efficiente le risorse che vengonoaggiunte al sistema e detto espandibile.

b) Le chiamate di sistema operano in maniera simile alle interruzioni, nel senso che quandoavviene una chiamata di sistema, il sistema si porta in modalita kernel e serve la richiestamediante una apposita routine di servizio.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] a) falsa ; b) vera

[D] entrambe false

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale vantaggio nell’uso di due threads cooperanti di uno stesso processo, al postodi due processi distinti e che nel primo caso non e necessario sincronizzare i threads inquanto gia condividono lo spazio di indirizzamento, mentre nel secondo caso e’ necessariol’uso dei semafori.

b) La comunicazione tra threads cooperanti di uno stesso processo e sempre piu efficientedella comunicazione tra processi distinti in quanto i threads possono utilizzare lo spaziodi indirizzamento condiviso senza fare uso degli strumenti di comunicazione tra processigestiti dal kernel.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe vere

[D] entrambe false

287

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i < 3) exit(0);

}exit(0);}

[A] 5

[B] 9

[C] 6

[D] 8

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 0 6 3P2 3 3 4P3 7 5 5P4 10 5 2P5 15 4 3

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 7.4

[B] 7.2

[C] 7.8

[D] 7.6

288

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 1 6P3 3 6P4 7 4P5 9 4

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 20.0

[B] 19.6

[C] 19.2

[D] 20.4

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T);x = x+2; x = x+4; x = x-5;if(x >= 4)then if(x==1)then signal(S);signal(S); signal(T); wait(T);

else endif signal(R);signal(T); wait(S);

endifwait(R);signal(S);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 1,S = 0 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 2

[B] x = 0

[C] x = 1

[D] x = 3

289

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Nei moderni sistemi operativi le tecniche di gestione della memoria centrale sono pocoimportanti a causa del basso costo economico delle stesse.

b) Andando dai livelli di memoria piu bassi (dispositivi secondari e terziari) a quelli piu alti(registri e cache), il costo economico per bit aumenta.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 180 ns e che il tempo di accesso airegistri TLB richieda 25 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 232 ns.

[A] 88%

[B] 82%

[C] 85%

[D] 91%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 0, 3, 408 >

290

[A] 1944

[B] 7803

[C] 6267

[D] 4731

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A e B, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[1024], B[2][512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N/2; j++){B[i][2*j] = A[i*N+j] + A[i*N+2*j];

} }

[A] 12

[B] 10

[C] 8

[D] 11

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out con seconda chance, che assegna ad ogni processo 5 frame. Se determini il numerodi page faults per la squenza di riferimenti alle pagine:

5, 4, 3, 5, 2, 1, 4, 6, 3, 5, 2, 5, 3, 1, 2

[A] 7

[B] 9

[C] 10

[D] 8

291

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0il sistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richiesteper le tracce (55; 75; 80; 110; 135; 160). Successivamente arrivano altre richieste all’istantet=30 per la traccia 105 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricercacomplessivo in ms per servire tutte le richieste secondo la politica Shortest Seek Time First(SSTF), trascurando la latenza rotazionale e il tempo di trasferimento.

[A] 205

[B] 155

[C] 180

[D] 210

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Con un carico del disco pesante, la politica di scheduling SCAN andrebbe sempre preferitaalla politica C-SCAN a causa dell’overhead del ”ritorno a vuoto” della testina che inquesto caso diventa ancora piu significativo.

b) Il livello RAID con il piu alto overhead di memoria secondaria e il livello 5, a causa dellospazio utilizzato per la gestione delle informazioni relative alla parita.

[A] entrambe false

[B] entrambe vere

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 14:

Si consideri un disco che opera a 7200 rpm (giri al minuto), dove ogni traccia e composta da80 settori di 512 bytes ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 19200 KB/sec

[B] circa 4800 KB/sec

[C] circa 9600 KB/sec

292

[D] circa 13400 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un vantaggio dello schema di allocazione contigua di file in un file system e la velocita diaccesso poiche non si devono effettuare ulteriori operazioni di ricerche dei blocchi dopoaver individuato il primo blocco

b) Un problema nella prima versione della File Allocation Table di Microsoft (FAT12) era laframmentazione interna per i dischi di grandi dimensioni. Tale problema sussiste anchecon le nuove versioni FAT16 e FAT32, per cui esse vengono oramai utilizzate solo per ifile systen dei floppy disk.

[A] entrambe false

[B] entrambe vere

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 16:

Sia dato un file system che gestisca blocchi da 512 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 5 puntatori diretti a blocchi di dati

• 5 puntatori indiretti a blocchi di dati

[A] 271360 byte

[B] 50944 byte

[C] 330240 byte

[D] 67584 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 35, allora per cancellare il 60-mo recordsono necessari 25 accessi in lettura e 1 in scrittura.

293

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 25 in scrittura.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] a) vera ; b) falsa

[D] entrambe false

294

================================================== compito N. 34 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

295

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 35 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno dei principali vantaggi dei sistemi operativi con architettura monolitica e’ l’efficienza.Tale approccio, e oggi comunque poco utilizzato in quanto la complessita dei modernisistemi operativi lo rende poco praticabile.

b) Uno degli svantaggi delle macchine virtuali e’ la loro difficile realizzazione in quanto edifficile ottenere una replica della macchina fisica sottostante con strumenti software.

[A] entrambe false

[B] a) vera ; b) falsa

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le prestazioni di una qualunque applicazione multithreading e sempre piu’ efficiente nelcaso di una implementazione dei thread utente secondo il modello molti a uno rispettoad una implementazione secondo il modello uno a uno. Cio e’ dovuto al fatto che con ilmodello molti a uno, i thread a livello utente non richiamano il kernel per le operazionidi scheduling e sincronizzazione.

b) Uno svantaggio dell’implementazione dei threads secondo il modello uno a uno e la scarsaportabilita delle applicazioni, in quanto esse devono interfacciarsi direttamente con lechiamate di sistema relative al sistema operativo su cui deve essere eseguita l’applicazione.I sistemi operativi conformi ad interfacce standard, ad esempio POSIX, riducono il prob-lema.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

296

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i == 2) exit(0);

}exit(0);}

[A] 14

[B] 12

[C] 8

[D] 10

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 1 7 2P2 2 5 4P3 6 4 5P4 7 7 1P5 10 2 3

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 10.6

[B] 11

[C] 10.4

[D] 11.2

297

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 7P2 1 7P3 7 7P4 11 3P5 13 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 15

[B] 14.6

[C] 14.4

[D] 14.8

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = -x; x = x-1; x = x+1;signal(S); if (x > 0) then signal(R);wait(R); x = x-1; wait(T);x = -x; signal(T); print x;signal(T); else

signal(R);endif

Si determini l’output del processo P3 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente S = 0, R = 0, T = 1.

[A] 4

[B] 5

[C] 6

[D] 3

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

298

a) Nei moderni sistemi operativi le tecniche di gestione della memoria centrale sono pocoimportanti a causa del basso costo economico delle stesse.

b) Andando dai livelli di memoria piu bassi (dispositivi secondari e terziari) a quelli piu alti(registri e cache), il costo economico per bit aumenta.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

domanda N. 8:

Sia dato un sistema che gestisce una memoria di 5120 byte mediante partizioni variabili. Sisupponga che nella memoria siano gia presenti 5 processi di dimensioni 740, 875, 250, 1450 e490 byte allocati rispettivamente a partire dagli indirizzi fisici 2048, 3072, 2788, 0 e 4096. Sidetermini l’indirizzo in cui verra allocato un ulteriore processo di 389 byte mediante la tecnicadel worst fit.

[A] 4586

[B] 3038

[C] 3947

[D] 1450

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

[A] 15361

[B] 7682

299

[C] 8194

[D] 3586

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A e B, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[1024], B[2][512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N/2; j++){B[i][2*j] = A[i*N+j] + A[i*N+2*j];

} }

[A] 11

[B] 12

[C] 10

[D] 8

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Se determini il numero di pagefaults per la squenza di riferimenti alle pagine:

5, 4, 3, 5, 2, 1, 4, 6, 3, 5, 2, 5, 3, 1, 7

[A] 11

[B] 9

[C] 12

[D] 10

domanda N. 12:

Sia dato un disco con 2000 tracce. Una operazione di lettura di un blocco richiede 3 ms

300

per lo spostamento tra due tracce adiacenti, 5 ms per la latenza rotazionale e 10 ms per iltrasferimento di un blocco di dati. Si calcoli il tempo necessario per leggere un file costituitoda 45 blocchi nel caso in cui questi ultimi siano distanti mediamente 15 tracce l’uno dall’altro.

[A] 2.04 sec

[B] 8.44 sec

[C] 2.7 sec

[D] 12.15 sec

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale problema dei livelli 3 e 4 dei sistemi RAID che li rende meno preferibili rispettoal livello 5 e la necessita della generazione della parita, che comporta un supplemento dioverhead.

b) Utilizzando un disco con 7 ms di tempo di seek, 10 msec di latenza media rotazionale etempo di trasferimento di 20 msec, il tempo necessario per trasferire in memoria centraleun file composto da 15 blocchi, distanti mediamente 10 tracce, e di 1.5 secondi esatti.

[A] a) vera ; b) falsa

[B] entrambe false

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 1 con 6 dischi, se il MeanTime to Failure (MTF) e di 1500 giorni e il Mean Time to Repair (MTR) e di 15 giorni.

[A] 0.00009

[B] 0.00001

[C] 0.00002

[D] 0.00003

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

301

a) Lo schema di allocazione basato sulla File Allocation Table (FAT) di Microsoft e unoschema che, con poca richiesta di memoria (necessaria solo per la tabella) e con pochiacccessi al disco assicura una gestione efficiente del file system anche se di grandi di-mensioni. Per tale motivo e ancora alla base di tutti i file system dei sistemi operativiMicrosoft.

b) Se il numero di blocchi usati in un file system e molto elevato, la memoria richiesta perla gestione dei blocchi liberi mediante lista concatenata puo essere inferiore a quellarichiesta dalla bitmap, nonostante quest’ultima usi solo un bit per blocco.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 16:

Sia dato un file system che gestisca blocchi da 512 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 5 puntatori diretti a blocchi di dati

• 5 puntatori indiretti a blocchi di dati

[A] 330240 byte

[B] 67584 byte

[C] 271360 byte

[D] 50944 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 50-morecord e necessario 1 accesso in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 1 in scrittura.

302

[A] a) falsa ; b) vera

[B] entrambe vere

[C] a) vera ; b) falsa

[D] entrambe false

303

================================================== compito N. 35 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

304

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 36 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) L’ordine delle attivita’ di un sistema operativo e’ determinato da eventi che possono esseregenerati da dispositivi hardware, da errori in un programma in esecuzione oppure da unarichiesta specifica di un programma che intende accedere ai servizi del sistema operativostesso mediante chiamate di sistema.

b) Le routine di servizio relative ai differenti eventi di cui alla affermazione a) sono eseguitesempre in modalita’ sistema, anche nel caso di programmi utente che intendono accedereai servizi del sistema operativo attraverso le chiamate di sistema.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il maggior svantaggio nell’uso dei segnali rispetto alle altre forme di IPC e l’impossibilitadi scambiare dati tra i processi.

b) Le principali azioni che un processo puo compiere quando riceve un segnale sono: catturare,ignorare o mascherare il segnale.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

305

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i == 2) exit(0);

}exit(0);}

[A] 10

[B] 14

[C] 12

[D] 8

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 1 8P3 4 3P4 9 2P5 12 4

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 10.0

[B] 10.4

[C] 10.2

[D] 9.8

domanda N. 5:

306

Sia dato il seguente insieme di processi:

TA TC

P1 0 3P2 1 5P3 3 7P4 8 5P5 10 6

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 13.8

[B] 13.6

[C] 14

[D] 14.2

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x-5; x = x+2; x = x+3;signal(T); if(x >= 5)then if(x==1)thenwait(R); signal(T); signal(R);signal(S); else endif

signal(R); wait(T);endifwait(S);signal(T);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 1 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 1

[B] x = 2

[C] x = 3

[D] x = 4

307

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) In generale, nel caso di gestione della memoria mediante paginazione, il problema dellaframmentazione aumenta col cresere della dimensione delle pagine.

b) La segmentazione e uno schema di gestione della memoria in cui un programma e divisoin moduli della stessa dimensione (i segmenti) che sono poi allocati in frame di memorialiberi.

[A] entrambe false

[B] entrambe vere

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 6 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 2530,1840, 785, 3421, 2013 KByte.

[A] 21540 KByte

[B] 15360 KByte

[C] 19456 KByte

[D] 17408 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 2, 0, 85 >

308

[A] 4693

[B] 4181

[C] 890

[D] 3671

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[512], B[256], C[2][512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i][2*j] = A[i*N+j] + B[j];

} }

[A] 11

[B] 10

[C] 8

[D] 12

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Se determini il numero di pagefaults per la squenza di riferimenti alle pagine:

5, 4, 3, 5, 2, 1, 4, 6, 3, 5, 2, 5, 3, 1, 7

[A] 11

[B] 9

[C] 12

[D] 10

309

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 70 e in coda ci sono richieste per letracce (55; 62; 65; 95; 97; 105). Successivamente arrivano altre richieste all’istante t=7 per latraccia 71 e all’istante t=50 per la traccia 63. Si calcoli il tempo di ricerca complessivo in msper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

[A] 107

[B] 97

[C] 65

[D] 121

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le testine di un disco memorizzano i dati in tracce, che sono una parte di unita piu grandichiamate settori, i quali formano i cilindri quando sono considerati verticalmente

b) L’algoritmo di scheduling del disco Shortest Seek Time First (SSTF) e il piu adatto aisistemi interattivi, in quanto assicura il minor tempo medio di servizio e non risente delproblema della posticipazione indefinita delle richieste.

[A] entrambe vere

[B] entrambe false

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 1 con 6 dischi, se il MeanTime to Failure (MTF) e di 1300 giorni e il Mean Time to Repair (MTR) e di 16.9 giorni.

[A] 0.00009

[B] 0.00001

[C] 0.00011

[D] 0.00003

310

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Lo schema di allocazione basato sulla File Allocation Table (FAT) di Microsoft e unoschema che, con poca richiesta di memoria (necessaria solo per la tabella) e con pochiacccessi al disco assicura una gestione efficiente del file system anche se di grandi di-mensioni. Per tale motivo e ancora alla base di tutti i file system dei sistemi operativiMicrosoft.

b) Se il numero di blocchi usati in un file system e molto elevato, la memoria richiesta perla gestione dei blocchi liberi mediante lista concatenata puo essere inferiore a quellarichiesta dalla bitmap, nonostante quest’ultima usi solo un bit per blocco.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 16:

Sia dato un file system che gestisca blocchi da 1024 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 9 puntatori diretti a blocchi di dati

• 1 puntatori indiretti a blocchi di dati

[A] 50944 byte

[B] 266240 byte

[C] 330240 byte

[D] 271360 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 25, allora per cancellare il 60-mo recordsono necessari 35 accessi in lettura e 35 in scrittura.

311

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 1 in scrittura.

[A] entrambe vere

[B] entrambe false

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

312

================================================== compito N. 36 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

313

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 37 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un sistema operativo che e in grado di utilizzare in maniera efficiente le risorse che vengonoaggiunte al sistema e detto espandibile.

b) Le chiamate di sistema operano in maniera simile alle interruzioni, nel senso che quandoavviene una chiamata di sistema, il sistema si porta in modalita kernel e serve la richiestamediante una apposita routine di servizio.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] a) falsa ; b) vera

[D] entrambe false

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il maggior svantaggio nell’uso dei segnali rispetto alle altre forme di IPC e l’impossibilitadi scambiare dati tra i processi.

b) Le principali azioni che un processo puo compiere quando riceve un segnale sono: catturare,ignorare o mascherare il segnale.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:

314

main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i < 2) exit(0);

}exit(0);}

[A] 6

[B] 8

[C] 9

[D] 10

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 0 2P3 3 4P4 5 6P5 9 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 8

[B] 7.5

[C] 8.5

[D] 7

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 3 6P3 5 8P4 9 4P5 11 2

315

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 16.6

[B] 16

[C] 16.2

[D] 16.4

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T);x = x+2; x = x+4; x = x-5;if(x >= 4)then if(x==1)then signal(S);signal(S); signal(T); wait(T);

else endif signal(R);signal(T); wait(S);

endifwait(R);signal(S);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 1,S = 0 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 1

[B] x = 3

[C] x = 2

[D] x = 0

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Andando dai livelli di memoria piu bassi (dispositivi secondari e terziari) a quelli piu alti(registri e cache), il tempo di accesso diminuisce.

b) In generale, l’overhead a cui si va in contro con l’allocazione non contigua dei processi inmemoria e compensata dal vantaggio di un aumento del grado di multiprogrammazione.

316

[A] entrambe false

[B] entrambe vere

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 8:

Sia dato un sistema che gestisce una memoria di 5120 byte mediante partizioni variabili. Sisupponga che nella memoria siano gia presenti 5 processi di dimensioni 740, 875, 250, 1450 e490 byte rispettivamente allocati negli indirizzi fisici 2048, 3072, 2788, 0 e 4096. Si determinil’indirizzo in cui verra allocato un ulteriore processo di 389 byte mediante la tecnica del bestfit.

[A] 3947

[B] 4586

[C] 1450

[D] 3038

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 2, 0, 85 >

[A] 4181

[B] 890

[C] 3671

[D] 4693

317

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[2][256], C[512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i*N+j] = A[i][2*j] + B[i][j];

} }

[A] 12

[B] 8

[C] 10

[D] 11

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo del Work-ing Set con dimensione della finestra di osservazione w = 6. Si determini, a partire dall’istantet = 6, il minimo e massimo numero di frame che il sistema assegna ad un processo di 6 pagineche vengono referenziate nel seguente ordine:

1, 2, 4, 1, 2, 4, 3, 4, 3, 3, 3, 4, 5, 3, 4, 5, 6, 4, 5, 6, 5, 5, 6, 5, 4

[A] min=3, max=5

[B] min=3, max=4

[C] min=2, max=5

[D] min=2, max=4

domanda N. 12:

Sia dato un disco con 2000 tracce. Una operazione di lettura di un blocco richiede 3 msper lo spostamento tra due tracce adiacenti, 5 ms per la latenza rotazionale e 10 ms per iltrasferimento di un blocco di dati. Si calcoli il tempo necessario per leggere un file costituitoda 45 blocchi nel caso in cui questi ultimi siano distanti mediamente 15 tracce l’uno dall’altro.

318

[A] 8.44 sec

[B] 2.7 sec

[C] 12.15 sec

[D] 2.04 sec

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale motivo per cui l’algoritmo di scheduling del disco Shortest Seek Time First epoco utilizzato nei sistemi di tipo generale e la possibilita di posticipazione indefinita dialcune richieste.

b) Uno dei parametri per la valutazione delle strategie di scheduling del disco e la varianzadei tempi di risposta che e una misura del numero di richieste servite per unita di tempo

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 5 con 5 dischi, se il MeanTime to Failure (MTF) e di 1500 giorni e il Mean Time to Repair (MTR) e di 24.75 giorni.

[A] 0.00011

[B] 0.0002

[C] 0.00003

[D] 0.00009

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Per motivi di efficienza, la lista dei blocchi liberi e generalmente ordinata secondo l’indicedel blocco.

b) I principali compiti di un file system sono: gestire le strutture logiche del file system(directory e file), organizzare i file in blocchi e gestirne l’allocazione, verificare l’integritadei dati, gestire lo spazio libero e verificare che i dati nei file non contengano errori.

319

[A] entrambe vere

[B] a) falsa ; b) vera

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 16:

Sia dato un file system che gestisca blocchi da 1024 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 9 puntatori diretti a blocchi di dati

• 1 puntatori indiretti a blocchi di dati

[A] 330240 byte

[B] 271360 byte

[C] 50944 byte

[D] 266240 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 35, allora per cancellare il 60-mo recordsono necessari 25 accessi in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 25 in scrittura.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] a) vera ; b) falsa

[D] entrambe false

320

================================================== compito N. 37 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

321

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 38 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) La principale differenza tra un sistema operativo con architettura a strati ed uno con ar-chitettura a microkernel e che nel primo caso e consentita la comunicazione solo tramoduli appartenenti a strati adiacenti, mentre nel secondo caso e consentita la comuni-cazione attraverso tutti i moduli del sistema attraverso il kernel.

b) Per tolleranza ai guasti si intendela capacita di un sisietam operativo di correggere eventualierrori delle applicazioni degli utenti.

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe vere

[D] entrambe false

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le prestazioni di una qualunque applicazione multithreading e sempre piu’ efficiente nelcaso di una implementazione dei thread utente secondo il modello molti a uno rispettoad una implementazione secondo il modello uno a uno. Cio e’ dovuto al fatto che con ilmodello molti a uno, i thread a livello utente non richiamano il kernel per le operazionidi scheduling e sincronizzazione.

b) Uno svantaggio dell’implementazione dei threads secondo il modello uno a uno e la scarsaportabilita delle applicazioni, in quanto esse devono interfacciarsi direttamente con lechiamate di sistema relative al sistema operativo su cui deve essere eseguita l’applicazione.I sistemi operativi conformi ad interfacce standard, ad esempio POSIX, riducono il prob-lema.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] a) vera ; b) falsa

[D] entrambe false

322

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i >= 0) exit(0);

}exit(0);}

[A] 8

[B] 7

[C] 9

[D] 5

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 1 7 2P2 2 5 4P3 6 4 5P4 7 7 1P5 10 2 3

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 10.6

[B] 11

[C] 10.4

[D] 11.2

323

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 1 6P3 3 6P4 7 4P5 9 4

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 20.0

[B] 19.6

[C] 19.2

[D] 20.4

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x+2; x = x*2; x = x+1;if (x > 0) then signal(T); signal(S);

x = -1; wait(S); wait(T)endif x = -x; x = x+1print x; signal(R); signal(S);

Si determini l’output del processo P1 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente R = 0, S = 0, T = 1.

[A] -4

[B] -2

[C] -1

[D] -3

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

324

a) In un sistema operativo con memoria virtuale, una differenza tra indirizzo logico e indirizzofisico e che il primo e generato dalla CPU mentre il secondo e generato dal MemoryManagement Unit (MMU).

b) Uno spazio di indirizzamento di 8 pagine, ognuna di 1024 byte, richiede 13 bit.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe false

[D] entrambe vere

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 180 ns e che il tempo di accesso airegistri TLB richieda 25 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 232 ns.

[A] 88%

[B] 82%

[C] 85%

[D] 91%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 2, 1, 248 >

[A] 3320

[B] 4856

[C] 6904

325

[D] 1272

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[j] = B[j/2 + i*256] + A[i][j];

} }

[A] 8

[B] 10

[C] 11

[D] 12

domanda N. 11:

Si consideri un sistema opereativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Si determini il numero di pagefaults per la seguente sequenza di riferimenti alle pagine:

4, 2, 7, 4, 7, 1, 5, 3, 1, 6, 5, 2, 6, 1, 3, 7

[A] 7

[B] 9

[C] 8

[D] 10

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 70 e in coda ci sono richieste per letracce (55; 62; 65; 95; 97; 105). Successivamente arrivano altre richieste all’istante t=7 per la

326

traccia 71 e all’istante t=50 per la traccia 63. Si calcoli il tempo di ricerca complessivo in msper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

[A] 107

[B] 97

[C] 65

[D] 121

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale problema dei livelli 3 e 4 dei sistemi RAID che li rende meno preferibili rispettoal livello 5 e la necessita della generazione della parita, che comporta un supplemento dioverhead.

b) Utilizzando un disco con 7 ms di tempo di seek, 10 msec di latenza media rotazionale etempo di trasferimento di 20 msec, il tempo necessario per trasferire in memoria centraleun file composto da 15 blocchi, distanti mediamente 10 tracce, e di 1.5 secondi esatti.

[A] a) vera ; b) falsa

[B] entrambe false

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 14:

Si consideri un disco che opera a 7200 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 1024 byte ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 9600 KB/sec

[B] circa 4800 KB/sec

[C] circa 13400 KB/sec

[D] circa 19200 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

327

a) Lo schema di allocazione basato sulla File Allocation Table (FAT) di Microsoft e unoschema che, con poca richiesta di memoria (necessaria solo per la tabella) e con pochiacccessi al disco assicura una gestione efficiente del file system anche se di grandi di-mensioni. Per tale motivo e ancora alla base di tutti i file system dei sistemi operativiMicrosoft.

b) Se il numero di blocchi usati in un file system e molto elevato, la memoria richiesta perla gestione dei blocchi liberi mediante lista concatenata puo essere inferiore a quellarichiesta dalla bitmap, nonostante quest’ultima usi solo un bit per blocco.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 16:

Sia dato un file system che gestisca blocchi da 256 byte e indirizzi da 16 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 8 puntatori diretti a blocchi di dati

• 2 puntatori indiretti a blocchi di dati

[A] 266240 byte

[B] 67584 byte

[C] 271360 byte

[D] 50944 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 60-morecord sono necessari 35 accessi in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 40 in scrittura.

328

[A] entrambe vere

[B] entrambe false

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

329

================================================== compito N. 38 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

330

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 39 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) L’ordine delle attivita’ di un sistema operativo e’ determinato da eventi che possono esseregenerati da dispositivi hardware, da errori in un programma in esecuzione oppure da unarichiesta specifica di un programma che intende accedere ai servizi del sistema operativostesso mediante chiamate di sistema.

b) Le routine di servizio relative ai differenti eventi di cui alla affermazione a) sono eseguitesempre in modalita’ sistema, anche nel caso di programmi utente che intendono accedereai servizi del sistema operativo attraverso le chiamate di sistema.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) L’insieme delle informazioni che caratterizzano un processo in esecuzione e che sono mem-orizzate nel Process Control Block e chiamato contesto. Per tale motivo la proceura chesospende un processo in esecuzione per mandarne un altro e detta cambio di contesto(context switch).

b) Il tempo medio di esecuzione di un insieme di processi di un sistema operativo time sharingdiminuisce sempre quando aumenta la frequenza dei context switch, in quanto i processiin esecuzione si avvicendano piu rapidemente nell’uso della CPU.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

331

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i == 1) exit(0);

}exit(0);}

[A] 9

[B] 10

[C] 6

[D] 8

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 1 8P3 4 3P4 9 2P5 12 4

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 10.0

[B] 10.4

[C] 10.2

[D] 9.8

332

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 3P2 1 5P3 3 7P4 8 5P5 10 6

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 13.6

[B] 14

[C] 14.2

[D] 13.8

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x+2; x = x*2; x = x+1;if (x > 0) then signal(T); signal(S);

x = -1; wait(S); wait(T)endif x = -x; x = x+1print x; signal(R); signal(S);

Si determini l’output del processo P1 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente R = 0, S = 0, T = 1.

[A] -1

[B] -3

[C] -4

[D] -2

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

333

a) In un sistema con memoria virtuale con tabella delle pagine multilivello e possibile indi-rizzare un area di memoria maggiore rispetto a quella indirizzabile con una tradizionaletabella delle pagine ad un solo livello.

b) Si consideri un sistema con memoria virtuale che rappresenti un indirizzo virtuale v me-diante la coppia (b, d) usando 32 bit. Se la dimensione delle pagine e di 8192 byte allorail numero di pagina b e specificato usando n = 20 bit.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 7 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 1229, 341,2831, 1710, 2116 KByte.

[A] 15360 KByte

[B] 19456 KByte

[C] 21540 KByte

[D] 15872 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 3, 3, 123 >

[A] 7291

[B] 7803

334

[C] 635

[D] 2171

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[2][256], C[512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i*N+j] = A[i][2*j] + B[i][j];

} }

[A] 12

[B] 8

[C] 10

[D] 11

domanda N. 11:

Si consideri un sistema opereativo con paginazione su richiesta basato sull’algoritmo FIFO conseconda chance, che assegna ad ogni processo 5 frame. Si determini il numero di page faultsper la seguente sequenza di riferimenti alle pagine:

7, 4, 5, 7, 3, 6, 4, 1, 2, 7, 4, 6, 5, 4, 7

[A] 9

[B] 10

[C] 7

[D] 8

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 il

335

sistema operativo sta servendo una richiesta sulla traccia 50 e in coda ci sono richieste per letracce (58; 15; 23; 25; 65; 55). Successivamente arrivano altre richieste all’istante t=7 per latraccia 49 e all’istante t=50 per la traccia 57. Si calcoli il tempo di ricerca complessivo perservire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurando lalatenza rotazionale e il tempo di trasferimento.

[A] 107

[B] 65

[C] 117

[D] 98

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) La motivazione originale per l’introduzione dei sistemi RAID e stata l’osservazione che lavelocita di trasferimento cresceva ad un tasso molto inferiore a quello della crescita siadella capacita dei dischi sia della potenza di elaborazione delle CPU.

b) L’algorimo di scheduling del disco First Come First Served tende ad avere una accettabilevarianza dei tempi di risposta a spese del numero di richieste servite per unita di tempo.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

domanda N. 14:

Si consideri un disco che opera a 12000 rpm (giri al minuto), dove ogni traccia e composta da80 settori di 512 bytes ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 8000 KB/sec

[B] circa 16000 KB/sec

[C] circa 9600 KB/sec

[D] circa 19200 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

336

a) Uno dei vantaggi della bitmap rispetto alla lista dei blocchi liberi e la possibilita, per ilsistema, di determinare in maniera efficiente l’esistenza di un certo numero di blocchiliberi contigui.

b) In un file system con struttura gerarchica (ad es. Unix), il nome di un file e formatodall’insieme dei nomi delle directory a partire dalla directory utente fino al file.

[A] entrambe false

[B] entrambe vere

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 16:

Sia dato un file system di 2 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 1024 byte.

[A] ∼ 2.7 KB

[B] ∼ 6 KB

[C] ∼ 64 KB

[D] ∼ 16 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 35, allora per cancellare il 60-mo recordsono necessari 25 accessi in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 25 in scrittura.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

337

================================================== compito N. 39 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

338

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 40 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) La principale differenza tra un sistema operativo con architettura a strati ed uno con ar-chitettura a microkernel e che nel primo caso e consentita la comunicazione solo tramoduli appartenenti a strati adiacenti, mentre nel secondo caso e consentita la comuni-cazione attraverso tutti i moduli del sistema attraverso il kernel.

b) Per tolleranza ai guasti si intendela capacita di un sisietam operativo di correggere eventualierrori delle applicazioni degli utenti.

[A] entrambe false

[B] a) vera ; b) falsa

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il sistema operativo accede molto spesso ai Process Control Blocks. Di conseguenza moltiprocessori possiedono un registro hardware che fa riferimento al PCB del processo inesecuzione in modo da facilitare il cambio di contesto.

b) Una delle operazioni che un processo puo’ effettuare quando riceve un segnale e di ignorarlo.Con tale termine si intende la capacita di redirigere il segnale ad un altro processo.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

339

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i > 2) exit(0);

}exit(0);}

[A] 10

[B] 16

[C] 9

[D] 8

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 0 6 3P2 3 4 5P3 4 6 4P4 11 2 5P5 14 4 1

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 8.8

[B] 8.6

[C] 8.2

[D] 8.4

domanda N. 5:

340

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 1 6P3 3 6P4 7 4P5 9 4

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 19.2

[B] 20.4

[C] 20.0

[D] 19.6

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T);x = x+2; x = x+4; x = x-5;if(x >= 4)then if(x==1)then signal(S);signal(S); signal(T); wait(T);

else endif signal(R);signal(T); wait(S);

endifwait(R);signal(S);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 1,S = 0 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 3

[B] x = 2

[C] x = 0

[D] x = 1

341

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) In un sistema operativo con memoria virtuale, una differenza tra indirizzo logico e indirizzofisico e che il primo e generato dalla CPU mentre il secondo e generato dal MemoryManagement Unit (MMU).

b) Uno spazio di indirizzamento di 8 pagine, ognuna di 1024 byte, richiede 13 bit.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 180 ns e che il tempo di accesso airegistri TLB richieda 25 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 232 ns.

[A] 91%

[B] 88%

[C] 82%

[D] 85%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

342

[A] 5634

[B] 13826

[C] 5118

[D] 10241

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[j] = B[j/2 + i*256] + A[i][j];

} }

[A] 10

[B] 11

[C] 12

[D] 8

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Se determini il numero di pagefaults per la squenza di riferimenti alle pagine:

5, 3, 2, 5, 2, 4, 1, 6, 4, 1, 3, 7, 4, 6, 2

[A] 10

[B] 7

[C] 9

[D] 8

343

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 50 e in coda ci sono richieste per letracce (58; 15; 23; 25; 65; 55). Successivamente arrivano altre richieste all’istante t=7 per latraccia 49 e all’istante t=50 per la traccia 57. Si calcoli il tempo di ricerca complessivo perservire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurando lalatenza rotazionale e il tempo di trasferimento.

[A] 117

[B] 98

[C] 107

[D] 65

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le testine di un disco memorizzano i dati in tracce, che sono una parte di unita piu grandichiamate settori, i quali formano i cilindri quando sono considerati verticalmente

b) L’algoritmo di scheduling del disco Shortest Seek Time First (SSTF) e il piu adatto aisistemi interattivi, in quanto assicura il minor tempo medio di servizio e non risente delproblema della posticipazione indefinita delle richieste.

[A] entrambe false

[B] a) vera ; b) falsa

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 14:

Si consideri un disco che opera a 7200 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 1024 byte ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 13400 KB/sec

[B] circa 19200 KB/sec

[C] circa 9600 KB/sec

344

[D] circa 4800 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Rispetto allo schema di allocazione dei file con lista concatenata, il principale vantaggiodella allocazione indicizzata dei file in un file system e la possibilita di effettuare laricerca nel solo blocco indice, migliorando enormemente i tempi di attraversamento delfile.

b) Lo schema di gestione dei blocchi liberi basato sulla bitmap introduce sempre un minorsovraccarico di memoria rispetto alla lista dei blocchi liberi, poiche mediante la bitmapviene utilizzato un solo bit per blocco, mentre la lista richiede l’indice del blocco chepuo’ essere grande 16 o 32 bit.

[A] a) falsa ; b) vera

[B] entrambe false

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 16:

Sia dato un file system che gestisca blocchi da 512 byte e indirizzi da 16 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 8 puntatori diretti a blocchi di dati

• 2 puntatori indiretti a blocchi di dati

[A] 266240 byte

[B] 330240 byte

[C] 67584 byte

[D] 271360 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 35, allora per cancellare il 60-mo recordsono necessari 25 accessi in lettura e 1 in scrittura.

345

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 25 in scrittura.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

346

================================================== compito N. 40 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

347

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 41 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno dei vantaggi delle macchine virtuali e’ la possibilita’ di creare ambienti di elaborazionecompletamente separati, permettendo una protezione efficace delle risorse del sistemaoperativo e dei programmi tra loro.

b) Uno dei vantaggi delle macchine virtuali e’ la loro facile realizzazione, in quanto e’ suf-ficiente replicare una copia di un sistema operativo monoutente in piu’ partizioni deldisco, dando cosi’ ad ogni utente l’illusione di essere l’unico utente del sistema.

[A] a) falsa ; b) vera

[B] entrambe false

[C] entrambe vere

[D] a) vera ; b) falsa

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale vantaggio nell’uso di due threads cooperanti di uno stesso processo, al postodi due processi distinti e che nel primo caso non e necessario sincronizzare i threads inquanto gia condividono lo spazio di indirizzamento, mentre nel secondo caso e’ necessariol’uso dei semafori.

b) La comunicazione tra threads cooperanti di uno stesso processo e sempre piu efficientedella comunicazione tra processi distinti in quanto i threads possono utilizzare lo spaziodi indirizzamento condiviso senza fare uso degli strumenti di comunicazione tra processigestiti dal kernel.

[A] entrambe vere

[B] entrambe false

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

348

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i >= 0) exit(0);

}exit(0);}

[A] 5

[B] 8

[C] 7

[D] 9

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 1 4P3 3 6P4 7 2P5 10 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 8.4

[B] 8.6

[C] 8.2

[D] 8.0

349

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 7P2 1 7P3 7 7P4 11 3P5 13 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 14.4

[B] 14.8

[C] 15

[D] 14.6

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = -x; x = x-1; x = x+1;signal(S); if (x > 0) then signal(R);wait(R); x = x-1; wait(T);x = -x; signal(T); print x;signal(T); else

signal(R);endif

Si determini l’output del processo P3 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente S = 0, R = 0, T = 1.

[A] 4

[B] 5

[C] 6

[D] 3

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

350

a) Il tempo necessario a prelevare un dato dalla memoria in un sistema operativo che usa lamemoria virtuale e lo stesso di un sistema operativo che non ne fa uso.

b) Sia dato un processo di 6 pagine, in un sistema che assegna 5 frame ad ogni processo. Sel’esecuzione di tale processo richiede 15 riferimenti in memoria, l’algoritmo di paginazioneFIFO richiede almeno 6 page faults.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 190 ns e che il tempo di accesso airegistri TLB richieda 25 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 272 ns.

[A] 70%

[B] 73.5%

[C] 76.6666%

[D] 68%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 2, 0, 85 >

[A] 4693

[B] 4181

351

[C] 890

[D] 3671

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){B[j/2 + i*256] = A[i][j] + C[j];

} }

[A] 8

[B] 11

[C] 10

[D] 12

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo del Work-ing Set con dimensione della finestra di osservazione w = 6. Si determini, a partire dall’istantet = 6, il minimo e massimo numero di frame che il sistema assegna ad un processo di 6 pagineche vengono referenziate nel seguente ordine:

1, 4, 2, 1, 2, 4, 1, 6, 2, 1, 6, 6, 1, 6, 1, 5, 3, 5, 1, 6, 4, 3, 5, 4, 4

[A] min=3, max=4

[B] min=2, max=5

[C] min=3, max=5

[D] min=2, max=4

domanda N. 12:

352

Sia dato un disco con 2000 tracce. Una operazione di lettura di un blocco richiede 3 msper lo spostamento tra due tracce adiacenti, 5 ms per la latenza rotazionale e 10 ms per iltrasferimento di un blocco di dati. Si calcoli il tempo necessario per leggere un file costituitoda 45 blocchi nel caso in cui questi ultimi siano distanti mediamente 15 tracce l’uno dall’altro.

[A] 2.04 sec

[B] 8.44 sec

[C] 2.7 sec

[D] 12.15 sec

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Con un carico del disco pesante, la politica di scheduling SCAN andrebbe sempre preferitaalla politica C-SCAN a causa dell’overhead del ”ritorno a vuoto” della testina che inquesto caso diventa ancora piu significativo.

b) Il livello RAID con il piu alto overhead di memoria secondaria e il livello 5, a causa dellospazio utilizzato per la gestione delle informazioni relative alla parita.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] a) falsa ; b) vera

[D] entrambe false

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 5 con 5 dischi, se il MeanTime to Failure (MTF) e di 1600 giorni e il Mean Time to Repair (MTR) e di 23.04 giorni.

[A] 0.0002

[B] 0.00003

[C] 0.00011

[D] 0.00009

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

353

a) Un vantaggio dello schema di allocazione contigua di file in un file system e la velocita diaccesso poiche non si devono effettuare ulteriori operazioni di ricerche dei blocchi dopoaver individuato il primo blocco

b) Un problema nella prima versione della File Allocation Table di Microsoft (FAT12) era laframmentazione interna per i dischi di grandi dimensioni. Tale problema sussiste anchecon le nuove versioni FAT16 e FAT32, per cui esse vengono oramai utilizzate solo per ifile systen dei floppy disk.

[A] entrambe false

[B] entrambe vere

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 16:

Sia dato un file system di 8 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 512 byte.

[A] 32 KB

[B] 28 KB

[C] 12 KB

[D] 13 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 25, allora per cancellare il 60-mo recordsono necessari 35 accessi in lettura e 35 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 1 in scrittura.

[A] entrambe false

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

354

[D] entrambe vere

355

================================================== compito N. 41 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

356

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 42 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) I seguenti sono tutti nomi di sistemi operativi realmente esistiti: Unix, MS-DOS, Solaris,Multics, CTSS, Minix, MacOS, Xenix.

b) Il modulo del sistema operativo che si occupa di determinare quando e per quanto tempoun processo deve accedere alla CPU e chiamato Interprocessor Communication Manager.

[A] entrambe false

[B] a) vera ; b) falsa

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale vantaggio nell’uso di due threads cooperanti di uno stesso processo, al postodi due processi distinti e che nel primo caso non e necessario sincronizzare i threads inquanto gia condividono lo spazio di indirizzamento, mentre nel secondo caso e’ necessariol’uso dei semafori.

b) La comunicazione tra threads cooperanti di uno stesso processo e sempre piu efficientedella comunicazione tra processi distinti in quanto i threads possono utilizzare lo spaziodi indirizzamento condiviso senza fare uso degli strumenti di comunicazione tra processigestiti dal kernel.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe vere

[D] entrambe false

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

357

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i == 2) exit(0);

}exit(0);}

[A] 12

[B] 8

[C] 10

[D] 14

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 12P2 2 3P3 6 3P4 11 6P5 14 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 8.0

[B] 7.8

[C] 8.4

[D] 8.2

domanda N. 5:

358

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 1 6P3 3 6P4 7 4P5 9 4

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 20.4

[B] 20.0

[C] 19.6

[D] 19.2

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x+2; x = x*2; x = x+1;if (x > 0) then signal(T); signal(S);

x = -1; wait(S); wait(T)endif x = -x; x = x+1print x; signal(R); signal(S);

Si determini l’output del processo P1 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente R = 0, S = 0, T = 1.

[A] -1

[B] -3

[C] -4

[D] -2

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

359

a) Il tempo necessario a prelevare un dato dalla memoria in un sistema operativo che usa lamemoria virtuale e lo stesso di un sistema operativo che non ne fa uso.

b) Sia dato un processo di 6 pagine, in un sistema che assegna 5 frame ad ogni processo. Sel’esecuzione di tale processo richiede 15 riferimenti in memoria, l’algoritmo di paginazioneFIFO richiede almeno 6 page faults.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 180 ns e che il tempo di accesso airegistri TLB richieda 30 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 280 ns.

[A] 68.3333%

[B] 61.111%

[C] 58%

[D] 65%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

[A] 5634

[B] 13826

360

[C] 5118

[D] 10241

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){B[j/2 + i*256] = A[i][j] + C[j];

} }

[A] 10

[B] 12

[C] 8

[D] 11

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo del Work-ing Set con dimensione della finestra di osservazione w = 6. Si determini, a partire dall’istantet = 6, il minimo e massimo numero di frame che il sistema assegna ad un processo di 6 pagineche vengono referenziate nel seguente ordine:

1, 2, 4, 1, 2, 4, 3, 4, 3, 3, 3, 4, 5, 3, 4, 5, 6, 4, 5, 6, 5, 5, 6, 5, 4

[A] min=3, max=4

[B] min=2, max=5

[C] min=2, max=4

[D] min=3, max=5

domanda N. 12:

361

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richieste per letracce (40; 65; 90; 120; 145; 125). Successivamente arrivano altre richieste all’istante t=30 perla traccia 95 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricerca complessivoper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

[A] 215

[B] 185

[C] 210

[D] 165

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le testine di un disco memorizzano i dati in tracce, che sono una parte di unita piu grandichiamate settori, i quali formano i cilindri quando sono considerati verticalmente

b) L’algoritmo di scheduling del disco Shortest Seek Time First (SSTF) e il piu adatto aisistemi interattivi, in quanto assicura il minor tempo medio di servizio e non risente delproblema della posticipazione indefinita delle richieste.

[A] entrambe false

[B] a) vera ; b) falsa

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 14:

Si consideri un disco che opera a 12000 rpm (giri al minuto), dove ogni traccia e composta da80 settori di 512 bytes ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 9600 KB/sec

[B] circa 19200 KB/sec

[C] circa 8000 KB/sec

[D] circa 16000 KB/sec

362

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un modo per risolvere il problema dei numerosi accessi al disco con lo schema di allocazionedei file a lista concatenata e l’utilizzo di blocchi molto grandi. Con tale modifica si ottieneuno schema senza grossi inconvenienti legati alla gestione del disco, che e utilizzato innumerosi sistemi come, ad esempio, Solaris 2.

b) Uno svantaggio dello schema di allocazione contigua di file in un file system e la frammen-tazione esterna del disco.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe vere

[D] entrambe false

domanda N. 16:

Sia dato un file system di 2 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 512 byte.

[A] 32 KB

[B] 6 KB

[C] 12 KB

[D] 48 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 50-mo record sono necessari 1accesso in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 15, allora per cancellare il 65-mo recordsono necessari 50 accessi in lettura e 50 in scrittura.

363

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

364

================================================== compito N. 42 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

365

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 43 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il livello software che contiene le componenti fondamentali di un sistema operativo e’ chiam-ato kernel. Al kernel appartengono i moduli per: la gestione della memoria centrale, ilcontrollo dei processi, la gestione dell’I/O e la gestione della memoria secondaria. Aquesto elenco di componenti fondamentali del kernel va aggiunto solo il sottosistema perla gestione delle interfacce grafiche e per l’interprete del linguaggio di comando.

b) I sistemi operativi hanno lo scopo primario di permettere alle applicazioni software diinteragire con l’hardware sottostante, e di gestire le risorse hardware e software delsistema in maniera efficiente.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe false

[D] entrambe vere

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il meccanismo piu utilizzato dai sistemi operativi per impedire che un processo possamonopolizzare l’uso della CPU consiste nell’assegnare ai processi un numero massimo diistruzioni da eseguire.

b) Quando un processo viene rimosso dalla CPU perchee e scaduto il suo quanto di tempo,viene inserito sempre nella coda dei processi in attesa (waiting queue). Il processo vienerimosso da tale coda solo al momento di tornare in esecuzione

[A] entrambe vere

[B] entrambe false

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

366

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i > 1) exit(0);

}exit(0);}

[A] 9

[B] 8

[C] 10

[D] 12

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 0 6 3P2 3 3 4P3 7 5 5P4 10 5 2P5 15 4 3

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 7.8

[B] 7.6

[C] 7.4

[D] 7.2

367

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 3P2 1 5P3 3 7P4 8 5P5 10 6

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 13.6

[B] 14

[C] 14.2

[D] 13.8

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x-5; x = x+2; x = x+3;signal(T); if(x >= 5)then if(x==1)thenwait(R); signal(T); signal(R);signal(S); else endif

signal(R); wait(T);endifwait(S);signal(T);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 1 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 2

[B] x = 3

[C] x = 4

[D] x = 1

368

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Nei moderni sistemi operativi le tecniche di gestione della memoria centrale sono pocoimportanti a causa del basso costo economico delle stesse.

b) Andando dai livelli di memoria piu bassi (dispositivi secondari e terziari) a quelli piu alti(registri e cache), il costo economico per bit aumenta.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 190 ns e che il tempo di accesso airegistri TLB richieda 25 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 272 ns.

[A] 68%

[B] 70%

[C] 73.5%

[D] 76.6666%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

369

[A] 9218

[B] 14850

[C] 3070

[D] 6146

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[512], B[2][256], C[2][512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i][2*j] = A[i*N+j] + B[i][j];

} }

[A] 8

[B] 10

[C] 11

[D] 12

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo del Work-ing Set con dimensione della finestra di osservazione w = 6. Si determini, a partire dall’istantet = 6, il minimo e massimo numero di frame che il sistema assegna ad un processo di 6 pagineche vengono referenziate nel seguente ordine:

1, 2, 4, 1, 2, 4, 3, 4, 3, 3, 3, 4, 5, 3, 4, 5, 6, 4, 5, 6, 5, 5, 6, 5, 4

[A] min=3, max=5

[B] min=3, max=4

[C] min=2, max=5

[D] min=2, max=4

370

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richieste per letracce (40; 65; 90; 120; 145; 125). Successivamente arrivano altre richieste all’istante t=30 perla traccia 95 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricerca complessivoper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

[A] 210

[B] 165

[C] 215

[D] 185

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le tecniche di ottimizzazione rotazionale del disco hanno avuto una importanza crescentenegli ultimi anni perche i moderni dischi rigidi esibiscono tempi di seek e latenze mediedello stesso ordine di grandezza.

b) Il livello RAID 1 e il migliore per ambienti in cui l’affidabilita ha una priorita superiore alcosto o alle prestazioni.

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe vere

[D] entrambe false

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 5 con 5 dischi, se il MeanTime to Failure (MTF) e di 1600 giorni e il Mean Time to Repair (MTR) e di 23.04 giorni.

[A] 0.00009

[B] 0.0002

[C] 0.00003

[D] 0.00011

371

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un vantaggio dello schema di allocazione contigua di file in un file system e la velocita diaccesso poiche non si devono effettuare ulteriori operazioni di ricerche dei blocchi dopoaver individuato il primo blocco

b) Un problema nella prima versione della File Allocation Table di Microsoft (FAT12) era laframmentazione interna per i dischi di grandi dimensioni. Tale problema sussiste anchecon le nuove versioni FAT16 e FAT32, per cui esse vengono oramai utilizzate solo per ifile systen dei floppy disk.

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe false

[D] entrambe vere

domanda N. 16:

Sia dato un file system che gestisca blocchi da 512 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 5 puntatori diretti a blocchi di dati

• 5 puntatori indiretti a blocchi di dati

[A] 50944 byte

[B] 330240 byte

[C] 67584 byte

[D] 271360 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 60-morecord sono necessari 35 accessi in lettura e 1 in scrittura.

372

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 40 in scrittura.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe vere

[D] entrambe false

373

================================================== compito N. 43 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

374

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 44 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Per motivi di sicurezza, le seguenti istruzioni dovrebbero essere sempre eseguite in modalitasistema: lettura del clock di sistema, disabilitazione delle interruzioni, switch dallamodalita utente a quella di sistema, accesso ai dispositivi di I/O.

b) La principale difficolta nello sviluppo di un sistema operativo real time e garantire che iprocessi terminino la loro esecuzione in un fissato intervallo di tempo. In tal senso unruolo chiave e svolto dallo scheduler.

[A] entrambe vere

[B] entrambe false

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) In ogni sistema operativo e presente una tabella (chiamata tabella dei processi o ProcessControl Block = PCB) che tiene traccia di tutti i processi in esecuzione. In tale tabellae memorizzato per ogni processo in esecuzione un identificativo di processo (pid), unpuntatore alla memoria dove sono stati memorizzati il codice e l’area dati, nonche’ tuttele informazioni necessarie per effettuare correttamente il cambio di contesto.

b) Pur avendo alcuni campi sempre presenti in tutti i sistemi operativi, la struttura generaledel PCB dipende dalla implementazione del sistema operativo.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe false

375

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i > 1) exit(0);

}exit(0);}

[A] 10

[B] 12

[C] 9

[D] 8

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 0 6 3P2 3 3 4P3 7 5 5P4 10 5 2P5 15 4 3

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 7.4

[B] 7.2

[C] 7.8

[D] 7.6

376

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 3P2 1 5P3 3 7P4 8 5P5 10 6

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 13.6

[B] 14

[C] 14.2

[D] 13.8

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = 2*x; x = x*2; x = x+1;if (x > 0) then signal(T); signal(S);

x = x+1; wait(T)signal(S); x = x-1

else signal(R);x = x-1;signal(T);

endifwait(R);print x;

Si determini l’output del processo P1 supponendo che inizialmente x = −1 e i tre semaforibinari siano inizializzati rispettivamente R = 1, S = 0, T = 0.

[A] 5

[B] 4

[C] -5

[D] -4

377

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) I semafori possono essere usati in sistemi con allocazione contigua della memoria per evitareche i processi effetuino accessi illegali (ad esempio all’area di memoria assegnata alsistema operativo).

b) Per limitare il problema della frammentazione esterna, la tecnica del compattamento uniscebuchi adiacenti in memoria, mentre la tecnica della coalescenza rialloca i processi in ese-cuzione in maniera contigua in maniera da creare un unico spazio di memoria disponibileper i nuovi processi.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 6 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 2530,1840, 785, 3421, 2013 KByte.

[A] 15360 KByte

[B] 19456 KByte

[C] 17408 KByte

[D] 21540 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

378

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

[A] 8194

[B] 3586

[C] 15361

[D] 7682

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){B[j/2 + i*256] = A[i][j] + C[j];

} }

[A] 10

[B] 12

[C] 8

[D] 11

domanda N. 11:

Si consideri un sistema opereativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Si determini il numero di pagefaults per la seguente sequenza di riferimenti alle pagine:

6, 1, 4, 6, 5, 3, 1, 2, 4, 6, 5, 6, 4, 3, 5

[A] 10

[B] 9

[C] 8

379

[D] 7

domanda N. 12:

Sia dato un disco con 2000 tracce. Una operazione di lettura di un blocco richiede 3 msper lo spostamento tra due tracce adiacenti, 5 ms per la latenza rotazionale e 10 ms per iltrasferimento di un blocco di dati. Si calcoli il tempo necessario per leggere un file costituitoda 45 blocchi nel caso in cui questi ultimi siano distanti mediamente 15 tracce l’uno dall’altro.

[A] 12.15 sec

[B] 2.04 sec

[C] 8.44 sec

[D] 2.7 sec

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) L’algoritmo di scheduling del disco First Come First Served (FCFS) e l’algoritmo menoutilizzato nei sistemi interattivi di tipo generale perche e quello che ha il piu alto overheadper la gestione delle strutture dati necessarie all’algoritmo stesso.

b) I principali vantaggi di un sistema RAID 0 sono la semplicita di realizzazione e l’elevatavelocita di trasferimento.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] a) falsa ; b) vera

[D] entrambe false

domanda N. 14:

Si consideri un disco che opera a 12000 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 512 bytes ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 19200 KB/sec

[B] circa 16000 KB/sec

[C] circa 9600 KB/sec

380

[D] circa 8000 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un vantaggio dello schema di allocazione contigua di file in un file system e la velocita diaccesso poiche non si devono effettuare ulteriori operazioni di ricerche dei blocchi dopoaver individuato il primo blocco

b) Un problema nella prima versione della File Allocation Table di Microsoft (FAT12) era laframmentazione interna per i dischi di grandi dimensioni. Tale problema sussiste anchecon le nuove versioni FAT16 e FAT32, per cui esse vengono oramai utilizzate solo per ifile systen dei floppy disk.

[A] a) falsa ; b) vera

[B] entrambe false

[C] entrambe vere

[D] a) vera ; b) falsa

domanda N. 16:

Sia dato un file system che gestisca blocchi da 256 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 7 puntatori diretti a blocchi di dati

• 3 puntatori indiretti a blocchi di dati

[A] 266240 byte

[B] 330240 byte

[C] 67584 byte

[D] 50944 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 25 allora per cancellare il 70-mo record sono necessari30 accessi in lettura e 30 in scrittura.

381

b) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 35, allora per cancellare il 75-mo recordsono necessari 40 accessi in lettura e 1 in scrittura.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

382

================================================== compito N. 44 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

383

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 45 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno degli scopi principali delle chiamate di sistema e’ quello di fornire ai programmi deimetodi di accesso diretto alle funzionalita’ del sistema operativo in maniera protetta.

b) Poiche’ le chiamate di sistema sono l’unico modo con cui un processo utente puo’ accedereai servizi del sistema operativo, il relativo codice e’ eseguito in modalita’ utente

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe false

[D] entrambe vere

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) In ogni sistema operativo e presente una tabella (chiamata tabella dei processi o ProcessControl Block = PCB) che tiene traccia di tutti i processi in esecuzione. In tale tabellae memorizzato per ogni processo in esecuzione un identificativo di processo (pid), unpuntatore alla memoria dove sono stati memorizzati il codice e l’area dati, nonche’ tuttele informazioni necessarie per effettuare correttamente il cambio di contesto.

b) Pur avendo alcuni campi sempre presenti in tutti i sistemi operativi, la struttura generaledel PCB dipende dalla implementazione del sistema operativo.

[A] a) vera ; b) falsa

[B] entrambe false

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla linea

384

di comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i <= 1) exit(0);

}exit(0);}

[A] 10

[B] 6

[C] 9

[D] 8

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC P

P1 1 7 2P2 2 5 4P3 6 4 5P4 7 7 1P5 10 2 3

dove TA e il tempo di arrivo nella coda dei processi pronti, TC e il tempo di utilizzo della CPUe P e la priorita (priorita massima = 5). Utilizzando l’algoritmo di scheduling a priorita conprelazione, si determini il tempo medio di esecuzione.

[A] 10.6

[B] 11

[C] 10.4

[D] 11.2

domanda N. 5:

385

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 0 2P3 3 4P4 5 6P5 9 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 11.8

[B] 11.2

[C] 11.6

[D] 11.4

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = -x; x = x-1; x = x+1;signal(S); if (x > 0) then signal(R);wait(R); x = x-1; wait(T);x = -x; signal(T); print x;signal(T); else

signal(R);endif

Si determini l’output del processo P3 supponendo che inizialmente x = 1 e i tre semaforibinari siano inizializzati rispettivamente S = 0, R = 0, T = 1.

[A] 6

[B] 3

[C] 4

[D] 5

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

386

a) Il principale vantaggio dell’introduzione dei meccanismi di memoria virtuale (sia paginatache segmentata) e l’eliminazione del problema della frammentazione.

b) Si consideri un sistema con memoria virtuale che rappresenti un indirizzo virtuale v medi-ante la coppia (b, d) usando 32 bit. Se il numero di pagina b e specificato usando n = 20bit, allora la dimensione delle pagine e di 4096 byte.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe false

[D] entrambe vere

domanda N. 8:

Sia dato un sistema che gestisce una memoria di 5120 byte mediante partizioni variabili. Sisupponga che nella memoria siano gia presenti 5 processi di dimensioni 740, 875, 250, 1450 e490 byte allocati rispettivamente a partire dagli indirizzi fisici 2048, 3072, 2788, 0 e 4096. Sidetermini l’indirizzo in cui verra allocato un ulteriore processo di 389 byte mediante la tecnicadel worst fit.

[A] 4586

[B] 3038

[C] 3947

[D] 1450

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 1, 2, 341 >

[A] 6997

[B] 5461

387

[C] 3413

[D] 1877

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[512], B[2][256], C[2][512];...N=256;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[i][2*j] = A[i*N+j] + B[i][j];

} }

[A] 10

[B] 11

[C] 12

[D] 8

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Se determini il numero di pagefaults per la squenza di riferimenti alle pagine:

5, 6, 5, 4, 5, 7, 3, 7, 4, 7, 6, 5, 2, 1, 5

[A] 10

[B] 7

[C] 9

[D] 8

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 il sistema

388

operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richieste per le tracce(10; 30; 55; 80; 92; 130). Successivamente arrivano altre richieste all’istante t=40 per la traccia50 e all’istante t=100 per la traccia 15. Si calcoli il tempo di ricerca complessivo per serviretutte le richieste secondo la politica LOOK, iniziando in ordine discendente e trascurando lalatenza rotazionale e il tempo di trasferimento.

[A] 285

[B] 325

[C] 110

[D] 215

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le testine di un disco memorizzano i dati in tracce, che sono una parte di unita piu grandichiamate settori, i quali formano i cilindri quando sono considerati verticalmente

b) L’algoritmo di scheduling del disco Shortest Seek Time First (SSTF) e il piu adatto aisistemi interattivi, in quanto assicura il minor tempo medio di servizio e non risente delproblema della posticipazione indefinita delle richieste.

[A] entrambe vere

[B] entrambe false

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 14:

Si consideri un disco che opera a 12000 rpm (giri al minuto), dove ogni traccia e composta da80 settori di 512 bytes ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 8000 KB/sec

[B] circa 16000 KB/sec

[C] circa 9600 KB/sec

[D] circa 19200 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

389

a) Lo schema di allocazione basato sulla File Allocation Table (FAT) di Microsoft e unoschema che, con poca richiesta di memoria (necessaria solo per la tabella) e con pochiacccessi al disco assicura una gestione efficiente del file system anche se di grandi di-mensioni. Per tale motivo e ancora alla base di tutti i file system dei sistemi operativiMicrosoft.

b) Se il numero di blocchi usati in un file system e molto elevato, la memoria richiesta perla gestione dei blocchi liberi mediante lista concatenata puo essere inferiore a quellarichiesta dalla bitmap, nonostante quest’ultima usi solo un bit per blocco.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

domanda N. 16:

Sia dato un file system di 2 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 1024 byte.

[A] ∼ 64 KB

[B] ∼ 16 KB

[C] ∼ 2.7 KB

[D] ∼ 6 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 30 allora per cancellare il 70-mo record sono necessari40 accessi in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 10, allora per cancellare il 35-mo recordsono necessari 25 accessi in lettura e 25 in scrittura.

[A] entrambe false

[B] entrambe vere

390

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

391

================================================== compito N. 45 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

392

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 46 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno dei principali vantaggi dei sistemi operativi con architettura monolitica e’ l’efficienza.Tale approccio, e oggi comunque poco utilizzato in quanto la complessita dei modernisistemi operativi lo rende poco praticabile.

b) Uno degli svantaggi delle macchine virtuali e’ la loro difficile realizzazione in quanto edifficile ottenere una replica della macchina fisica sottostante con strumenti software.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] a) falsa ; b) vera

[D] entrambe false

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le prestazioni di una qualunque applicazione multithreading e sempre piu’ efficiente nelcaso di una implementazione dei thread utente secondo il modello molti a uno rispettoad una implementazione secondo il modello uno a uno. Cio e’ dovuto al fatto che con ilmodello molti a uno, i thread a livello utente non richiamano il kernel per le operazionidi scheduling e sincronizzazione.

b) Uno svantaggio dell’implementazione dei threads secondo il modello uno a uno e la scarsaportabilita delle applicazioni, in quanto esse devono interfacciarsi direttamente con lechiamate di sistema relative al sistema operativo su cui deve essere eseguita l’applicazione.I sistemi operativi conformi ad interfacce standard, ad esempio POSIX, riducono il prob-lema.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

393

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i == 2) exit(0);

}exit(0);}

[A] 10

[B] 14

[C] 12

[D] 8

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 0 2P3 3 4P4 5 6P5 9 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 8.5

[B] 7

[C] 8

[D] 7.5

394

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 3 6P3 5 6P4 9 4P5 13 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 17.6

[B] 18.0

[C] 18.4

[D] 18.8

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x-5; x = x+2; x = x+3;signal(T); if(x >= 3)then if(x==1)thenwait(R); signal(R); signal(R);signal(S); else endif

signal(T); wait(T);endifwait(S);signal(T);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 1 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = −1

[B] x = 0

[C] x = 2

[D] x = 1

395

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) In un sistema con memoria virtuale con tabella delle pagine multilivello e possibile indi-rizzare un area di memoria maggiore rispetto a quella indirizzabile con una tradizionaletabella delle pagine ad un solo livello.

b) Si consideri un sistema con memoria virtuale che rappresenti un indirizzo virtuale v me-diante la coppia (b, d) usando 32 bit. Se la dimensione delle pagine e di 8192 byte allorail numero di pagina b e specificato usando n = 20 bit.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 8:

Sia data una memoria di 32MByte gestita mediante paginazione con frame di 512 KByte e sisupponga che il sistema operativo richieda 6 MByte. Si calcoli la dimensione della memoriaeffettivamente ancora utilizzabile dopo l’allocazione di 5 processi rispettivamente di 2530,1840, 785, 3421, 2013 KByte.

[A] 21540 KByte

[B] 15360 KByte

[C] 19456 KByte

[D] 17408 KByte

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 3, 3, 123 >

396

[A] 635

[B] 2171

[C] 7291

[D] 7803

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[j] = B[j/2 + i*256] + A[i][j];

} }

[A] 10

[B] 11

[C] 12

[D] 8

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo del Work-ing Set con dimensione della finestra di osservazione w = 6. Si determini, a partire dall’istantet = 6, il minimo e massimo numero di frame che il sistema assegna ad un processo di 6 pagineche vengono referenziate nel seguente ordine:

4, 2, 1, 1, 6, 6, 4, 1, 1, 6, 5, 6, 3, 5, 3, 5, 4, 3, 2, 3, 2, 1, 3, 2, 1

[A] min=2, max=4

[B] min=3, max=4

[C] min=2, max=5

[D] min=3, max=5

397

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 50 e in coda ci sono richieste per letracce (58; 15; 23; 25; 65; 55). Successivamente arrivano altre richieste all’istante t=7 per latraccia 49 e all’istante t=50 per la traccia 57. Si calcoli il tempo di ricerca complessivo perservire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurando lalatenza rotazionale e il tempo di trasferimento.

[A] 107

[B] 65

[C] 117

[D] 98

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale problema dei livelli 3 e 4 dei sistemi RAID che li rende meno preferibili rispettoal livello 5 e la necessita della generazione della parita, che comporta un supplemento dioverhead.

b) Utilizzando un disco con 7 ms di tempo di seek, 10 msec di latenza media rotazionale etempo di trasferimento di 20 msec, il tempo necessario per trasferire in memoria centraleun file composto da 15 blocchi, distanti mediamente 10 tracce, e di 1.5 secondi esatti.

[A] entrambe vere

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe false

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 5 con 5 dischi, se il MeanTime to Failure (MTF) e di 1500 giorni e il Mean Time to Repair (MTR) e di 24.75 giorni.

[A] 0.00009

[B] 0.00011

[C] 0.0002

398

[D] 0.00003

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un vantaggio dello schema di allocazione contigua di file in un file system e la velocita diaccesso poiche non si devono effettuare ulteriori operazioni di ricerche dei blocchi dopoaver individuato il primo blocco

b) Un problema nella prima versione della File Allocation Table di Microsoft (FAT12) era laframmentazione interna per i dischi di grandi dimensioni. Tale problema sussiste anchecon le nuove versioni FAT16 e FAT32, per cui esse vengono oramai utilizzate solo per ifile systen dei floppy disk.

[A] a) vera ; b) falsa

[B] a) falsa ; b) vera

[C] entrambe false

[D] entrambe vere

domanda N. 16:

Sia dato un file system che gestisca blocchi da 1024 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 9 puntatori diretti a blocchi di dati

• 1 puntatori indiretti a blocchi di dati

[A] 266240 byte

[B] 330240 byte

[C] 271360 byte

[D] 50944 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 25, allora per cancellare il 60-mo recordsono necessari 35 accessi in lettura e 35 in scrittura.

399

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 1 in scrittura.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe vere

[D] entrambe false

400

================================================== compito N. 46 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

401

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 47 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno dei principali vantaggi dei sistemi operativi con architettura monolitica e’ l’efficienza.Tale approccio, e oggi comunque poco utilizzato in quanto la complessita dei modernisistemi operativi lo rende poco praticabile.

b) Uno degli svantaggi delle macchine virtuali e’ la loro difficile realizzazione in quanto edifficile ottenere una replica della macchina fisica sottostante con strumenti software.

[A] entrambe false

[B] a) vera ; b) falsa

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale vantaggio nell’uso di due threads cooperanti di uno stesso processo, al postodi due processi distinti e che nel primo caso non e necessario sincronizzare i threads inquanto gia condividono lo spazio di indirizzamento, mentre nel secondo caso e’ necessariol’uso dei semafori.

b) La comunicazione tra threads cooperanti di uno stesso processo e sempre piu efficientedella comunicazione tra processi distinti in quanto i threads possono utilizzare lo spaziodi indirizzamento condiviso senza fare uso degli strumenti di comunicazione tra processigestiti dal kernel.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] entrambe false

[D] a) falsa ; b) vera

402

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i == 1) exit(0);

}exit(0);}

[A] 10

[B] 6

[C] 8

[D] 9

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 0 2P3 3 4P4 5 6P5 9 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 7.5

[B] 8.5

[C] 7

[D] 8

403

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 0 2P3 3 4P4 5 6P5 9 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 11.4

[B] 11.8

[C] 11.2

[D] 11.6

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui psudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x+1; x = 2*x; x = x+1;if (x > 0) then x = x+1; x = 2*x;

signal(S); signal(T); signal(S);else wait(S); wait(T);

signal(T); x = x+1; print(x);endif signal(T); signal(R);wait(R);

Si determini l’output del processo P3 supponendo che inizialmente x = 0 e i tre semaforibinari siano inizializzati rispettivamente R = 1, S = 0, T = 0.

[A] 11

[B] 9

[C] 8

[D] 10

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

404

a) Nei moderni sistemi operativi le tecniche di gestione della memoria centrale sono pocoimportanti a causa del basso costo economico delle stesse.

b) Andando dai livelli di memoria piu bassi (dispositivi secondari e terziari) a quelli piu alti(registri e cache), il costo economico per bit aumenta.

[A] entrambe vere

[B] a) vera ; b) falsa

[C] entrambe false

[D] a) falsa ; b) vera

domanda N. 8:

Sia dato un sistema che gestisce una memoria di 5120 byte mediante partizioni variabili. Sisupponga che nella memoria siano gia presenti 5 processi di dimensioni 740, 875, 250, 1450 e490 byte rispettivamente allocati negli indirizzi fisici 2048, 3072, 2788, 0 e 4096. Si determinil’indirizzo in cui verra allocato un ulteriore processo di 389 byte mediante la tecnica del bestfit.

[A] 3947

[B] 4586

[C] 1450

[D] 3038

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,di seguito si riportano la tabella delle pagine di primo livello (P ′) e le 4 tabelle di secondolivello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzo iniziale 8192, 8704,9216 e 9728:

P ′

0 8192

1 8704

2 9216

3 9728

P”0

0 0

1 512

2 1024

3 1536

P”1

0 2048

1 2560

2 3072

3 3584

P”2

0 4096

1 4608

2 5120

3 5632

P”3

0 6144

1 6656

2 7168

3 7680

Si determini l’indirizzo fisico corrispondente all’indirizzo logico < 2, 0, 85 >

[A] 4693

[B] 4181

405

[C] 890

[D] 3671

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[j] = B[j/2 + i*256] + A[i][j];

} }

[A] 10

[B] 11

[C] 12

[D] 8

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out con seconda chance, che assegna ad ogni processo 5 frame. Se determini il numerodi page faults per la squenza di riferimenti alle pagine:

7, 6, 5, 7, 4, 3, 6, 2, 1, 7, 6, 3, 5, 4, 7

[A] 9

[B] 8

[C] 10

[D] 7

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 il

406

sistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richieste per letracce (40; 65; 90; 120; 145; 125). Successivamente arrivano altre richieste all’istante t=30 perla traccia 95 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricerca complessivoper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

[A] 165

[B] 215

[C] 185

[D] 210

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le testine di un disco memorizzano i dati in tracce, che sono una parte di unita piu grandichiamate settori, i quali formano i cilindri quando sono considerati verticalmente

b) L’algoritmo di scheduling del disco Shortest Seek Time First (SSTF) e il piu adatto aisistemi interattivi, in quanto assicura il minor tempo medio di servizio e non risente delproblema della posticipazione indefinita delle richieste.

[A] entrambe false

[B] a) vera ; b) falsa

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 14:

Si consideri un disco che opera a 7200 rpm (giri al minuto), dove ogni traccia e composta da80 settori di 512 bytes ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 4800 KB/sec

[B] circa 9600 KB/sec

[C] circa 13400 KB/sec

[D] circa 19200 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

407

a) Per motivi di efficienza, la lista dei blocchi liberi e generalmente ordinata secondo l’indicedel blocco.

b) I principali compiti di un file system sono: gestire le strutture logiche del file system(directory e file), organizzare i file in blocchi e gestirne l’allocazione, verificare l’integritadei dati, gestire lo spazio libero e verificare che i dati nei file non contengano errori.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] a) falsa ; b) vera

[D] entrambe false

domanda N. 16:

Sia dato un file system di 2 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 1024 byte.

[A] ∼ 64 KB

[B] ∼ 16 KB

[C] ∼ 2.7 KB

[D] ∼ 6 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 50-mo record sono necessari 1accesso in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma concatenata dovei record del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se l’ultimo record letto e’ il record 15, allora per cancellare il 65-mo recordsono necessari 50 accessi in lettura e 50 in scrittura.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

408

================================================== compito N. 47 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

409

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 48 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il livello software che contiene le componenti fondamentali di un sistema operativo e’ chiam-ato kernel. Al kernel appartengono i moduli per: la gestione della memoria centrale, ilcontrollo dei processi, la gestione dell’I/O e la gestione della memoria secondaria. Aquesto elenco di componenti fondamentali del kernel va aggiunto solo il sottosistema perla gestione delle interfacce grafiche e per l’interprete del linguaggio di comando.

b) I sistemi operativi hanno lo scopo primario di permettere alle applicazioni software diinteragire con l’hardware sottostante, e di gestire le risorse hardware e software delsistema in maniera efficiente.

[A] a) vera ; b) falsa

[B] entrambe false

[C] entrambe vere

[D] a) falsa ; b) vera

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le prestazioni di una qualunque applicazione multithreading e sempre piu’ efficiente nelcaso di una implementazione dei thread utente secondo il modello molti a uno rispettoad una implementazione secondo il modello uno a uno. Cio e’ dovuto al fatto che con ilmodello molti a uno, i thread a livello utente non richiamano il kernel per le operazionidi scheduling e sincronizzazione.

b) Uno svantaggio dell’implementazione dei threads secondo il modello uno a uno e la scarsaportabilita delle applicazioni, in quanto esse devono interfacciarsi direttamente con lechiamate di sistema relative al sistema operativo su cui deve essere eseguita l’applicazione.I sistemi operativi conformi ad interfacce standard, ad esempio POSIX, riducono il prob-lema.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

410

[D] a) vera ; b) falsa

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i > 1) exit(0);

}exit(0);}

[A] 10

[B] 12

[C] 9

[D] 8

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 12P2 2 3P3 6 3P4 11 6P5 14 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 8.4

[B] 8.2

[C] 8.0

[D] 7.8

411

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 10P2 3 6P3 5 6P4 9 4P5 13 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 17.6

[B] 18.0

[C] 18.4

[D] 18.8

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x-5; x = x+2; x = x+3;signal(T); if(x >= 5)then if(x==1)thenwait(R); signal(T); signal(R);signal(S); else endif

signal(R); wait(T);endifwait(S);signal(T);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 1 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 1

[B] x = 2

[C] x = 3

412

[D] x = 4

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Nei moderni sistemi operativi le tecniche di gestione della memoria centrale sono pocoimportanti a causa del basso costo economico delle stesse.

b) Andando dai livelli di memoria piu bassi (dispositivi secondari e terziari) a quelli piu alti(registri e cache), il costo economico per bit aumenta.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 190 ns e che il tempo di accesso airegistri TLB richieda 25 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 272 ns.

[A] 68%

[B] 70%

[C] 73.5%

[D] 76.6666%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

413

[A] 10754

[B] 12802

[C] 5122

[D] 13314

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[j] = B[j/2 + i*256] + A[i][j];

} }

[A] 12

[B] 8

[C] 10

[D] 11

domanda N. 11:

Si consideri un sistema opereativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Si determini il numero di pagefaults per la seguente sequenza di riferimenti alle pagine:

6, 7, 1, 6, 5, 4, 7, 3, 1, 6, 5, 6, 1, 4, 2

[A] 10

[B] 11

[C] 9

[D] 12

414

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 50 e in coda ci sono richieste per letracce (58; 15; 23; 25; 65; 55). Successivamente arrivano altre richieste all’istante t=7 per latraccia 49 e all’istante t=50 per la traccia 57. Si calcoli il tempo di ricerca complessivo perservire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurando lalatenza rotazionale e il tempo di trasferimento.

[A] 98

[B] 107

[C] 65

[D] 117

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le tecniche di ottimizzazione rotazionale del disco hanno avuto una importanza crescentenegli ultimi anni perche i moderni dischi rigidi esibiscono tempi di seek e latenze mediedello stesso ordine di grandezza.

b) Il livello RAID 1 e il migliore per ambienti in cui l’affidabilita ha una priorita superiore alcosto o alle prestazioni.

[A] entrambe vere

[B] entrambe false

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 14:

Si calcoli la probabilitaa di perdere i dati con un sistema RAID level 5 con 5 dischi, se il MeanTime to Failure (MTF) e di 1600 giorni e il Mean Time to Repair (MTR) e di 23.04 giorni.

[A] 0.00009

[B] 0.0002

[C] 0.00003

[D] 0.00011

415

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Per motivi di efficienza, la lista dei blocchi liberi e generalmente ordinata secondo l’indicedel blocco.

b) I principali compiti di un file system sono: gestire le strutture logiche del file system(directory e file), organizzare i file in blocchi e gestirne l’allocazione, verificare l’integritadei dati, gestire lo spazio libero e verificare che i dati nei file non contengano errori.

[A] a) vera ; b) falsa

[B] entrambe vere

[C] a) falsa ; b) vera

[D] entrambe false

domanda N. 16:

Sia dato un file system che gestisca blocchi da 1024 byte e indirizzi da 32 bit mediante unaallocazione indicizzata dei file. Si calcoli la dimensione massima di un file per questo filesystem supponendo che i blocchi indice contengono:

• 9 puntatori diretti a blocchi di dati

• 1 puntatori indiretti a blocchi di dati

[A] 330240 byte

[B] 271360 byte

[C] 50944 byte

[D] 266240 byte

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 50-morecord e necessario 1 accesso in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 75-mo record sono necessari25 accessi in lettura e 1 in scrittura.

416

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

417

================================================== compito N. 48 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

418

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 49 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Per motivi di sicurezza, le seguenti istruzioni dovrebbero essere sempre eseguite in modalitasistema: lettura del clock di sistema, disabilitazione delle interruzioni, switch dallamodalita utente a quella di sistema, accesso ai dispositivi di I/O.

b) La principale difficolta nello sviluppo di un sistema operativo real time e garantire che iprocessi terminino la loro esecuzione in un fissato intervallo di tempo. In tal senso unruolo chiave e svolto dallo scheduler.

[A] entrambe false

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale vantaggio nell’uso di due threads cooperanti di uno stesso processo, al postodi due processi distinti e che nel primo caso non e necessario sincronizzare i threads inquanto gia condividono lo spazio di indirizzamento, mentre nel secondo caso e’ necessariol’uso dei semafori.

b) La comunicazione tra threads cooperanti di uno stesso processo e sempre piu efficientedella comunicazione tra processi distinti in quanto i threads possono utilizzare lo spaziodi indirizzamento condiviso senza fare uso degli strumenti di comunicazione tra processigestiti dal kernel.

[A] entrambe false

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe vere

419

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i < 3) exit(0);

}exit(0);}

[A] 8

[B] 5

[C] 9

[D] 6

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 12P2 2 3P3 6 3P4 11 6P5 14 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 8.0

[B] 7.8

[C] 8.4

[D] 8.2

420

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 3 6P3 5 8P4 9 4P5 11 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 16.4

[B] 16.6

[C] 16

[D] 16.2

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T);x = x+2; x = x+4; x = x-5;if(x >= 4)then if(x==1)then signal(S);signal(S); signal(T); wait(T);

else endif signal(R);signal(T); wait(S);

endifwait(R);signal(S);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 1,S = 0 e T = 0, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 1

[B] x = 3

[C] x = 2

[D] x = 0

421

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il significativo overhrad associato alla tecnica del compattamento usata per ridurre il prob-lema della frammentazione esterna, rende tale tecnica poco adatta per un utilizzo neisistemi operativi real-time.

b) In un sistema operativo che gestisce la memoria centrale mediante partizioni fisse, i registrichiamati base e limit vengono utilizzati per decidere in quale partizione allocare i processi.

[A] a) falsa ; b) vera

[B] entrambe vere

[C] entrambe false

[D] a) vera ; b) falsa

domanda N. 8:

Si consideri un sistema di paginazione con tabella delle pagine in memoria centrale. Suppo-nendo che un riferimento alla memoria centrale richieda 180 ns e che il tempo di accesso airegistri TLB richieda 30 ns, si determini la percentuale di successo nell’accesso ai TLB (hitratio dei TLB) per ottenere un tempo medio di accesso di 280 ns.

[A] 65%

[B] 68.3333%

[C] 61.111%

[D] 58%

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

422

[A] 15361

[B] 7682

[C] 8194

[D] 3586

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){B[j/2 + i*256] = A[i][j] + C[j];

} }

[A] 10

[B] 12

[C] 8

[D] 11

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Se determini il numero di pagefaults per la squenza di riferimenti alle pagine:

5, 6, 5, 4, 5, 7, 3, 7, 4, 7, 6, 5, 2, 1, 5

[A] 7

[B] 9

[C] 8

[D] 10

423

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 il sistemaoperativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richieste per le tracce(10; 30; 55; 80; 92; 130). Successivamente arrivano altre richieste all’istante t=40 per la traccia50 e all’istante t=100 per la traccia 15. Si calcoli il tempo di ricerca complessivo per serviretutte le richieste secondo la politica LOOK, iniziando in ordine discendente e trascurando lalatenza rotazionale e il tempo di trasferimento.

[A] 215

[B] 285

[C] 325

[D] 110

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) Le tecniche di ottimizzazione rotazionale del disco hanno avuto una importanza crescentenegli ultimi anni perche i moderni dischi rigidi esibiscono tempi di seek e latenze mediedello stesso ordine di grandezza.

b) Il livello RAID 1 e il migliore per ambienti in cui l’affidabilita ha una priorita superiore alcosto o alle prestazioni.

[A] entrambe vere

[B] entrambe false

[C] a) vera ; b) falsa

[D] a) falsa ; b) vera

domanda N. 14:

Si consideri un disco che opera a 7200 rpm (giri al minuto), dove ogni traccia e composta da80 settori di 512 bytes ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 9600 KB/sec

[B] circa 13400 KB/sec

[C] circa 19200 KB/sec

424

[D] circa 4800 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Un modo per risolvere il problema dei numerosi accessi al disco con lo schema di allocazionedei file a lista concatenata e l’utilizzo di blocchi molto grandi. Con tale modifica si ottieneuno schema senza grossi inconvenienti legati alla gestione del disco, che e utilizzato innumerosi sistemi come, ad esempio, Solaris 2.

b) Uno svantaggio dello schema di allocazione contigua di file in un file system e la frammen-tazione esterna del disco.

[A] entrambe false

[B] a) falsa ; b) vera

[C] a) vera ; b) falsa

[D] entrambe vere

domanda N. 16:

Sia dato un file system di 2 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 512 byte.

[A] 6 KB

[B] 12 KB

[C] 48 KB

[D] 32 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 60-morecord sono necessari 35 accessi in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 40 in scrittura.

425

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe vere

[D] entrambe false

426

================================================== compito N. 49 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

427

============================================ CORSO DI SISTEMI OPERTIVI mod.A (gr. 1) ============ compito N. 50 del 110609 ==========

=========================================

domanda N. 1:

Si determini la veridicita’ delle seguenti affermazioni:

a) Per motivi di sicurezza, le seguenti istruzioni dovrebbero essere sempre eseguite in modalitasistema: lettura del clock di sistema, disabilitazione delle interruzioni, switch dallamodalita utente a quella di sistema, accesso ai dispositivi di I/O.

b) La principale difficolta nello sviluppo di un sistema operativo real time e garantire che iprocessi terminino la loro esecuzione in un fissato intervallo di tempo. In tal senso unruolo chiave e svolto dallo scheduler.

[A] entrambe vere

[B] entrambe false

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

domanda N. 2:

Si determini la veridicita’ delle seguenti affermazioni:

a) Il principale vantaggio nell’uso di due threads cooperanti di uno stesso processo, al postodi due processi distinti e che nel primo caso non e necessario sincronizzare i threads inquanto gia condividono lo spazio di indirizzamento, mentre nel secondo caso e’ necessariol’uso dei semafori.

b) La comunicazione tra threads cooperanti di uno stesso processo e sempre piu efficientedella comunicazione tra processi distinti in quanto i threads possono utilizzare lo spaziodi indirizzamento condiviso senza fare uso degli strumenti di comunicazione tra processigestiti dal kernel.

[A] entrambe vere

[B] entrambe false

[C] a) falsa ; b) vera

[D] a) vera ; b) falsa

428

domanda N. 3:

Si determini il numero di processi generati (compreso quello mandato in esecuzione dalla lineadi comando) dal seguente codice C, compilato e fatto eseguire su un sistema con il sistemaoperativo Unix:main(){int pid, i;for (i = 0; i <= 3; i + +){

pid=fork();if (pid == 0 && i < 2) exit(0);

}exit(0);}

[A] 9

[B] 10

[C] 6

[D] 8

domanda N. 4:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 0 2P3 3 4P4 5 6P5 9 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling dello Shortest Job First con prelazione, si determini iltempo medio di esecuzione.

[A] 7.5

[B] 8.5

[C] 7

[D] 8

429

domanda N. 5:

Sia dato il seguente insieme di processi:

TA TC

P1 0 8P2 3 6P3 5 8P4 9 4P5 11 2

dove TA e il tempo di arrivo nella coda dei processi pronti e TC e il tempo di utilizzo della CPU.Utilizzando l’algoritmo di scheduling Round Robin con quanto di tempo q = 2, si determini iltempo medio di esecuzione.

[A] 16

[B] 16.2

[C] 16.4

[D] 16.6

domanda N. 6:

Siano dati tre processi che condividono una variabile x e i cui pseudo codici sono di seguitoriportati:

P1 P2 P3

wait(R) wait(S) wait(T)x = x+3; x = x-5; x = x+2;if(x==4)then signal(R); if(x >= 5)then

signal(S); wait(S); signal(S);endif signal(T); elsewait(R); signal(R);

endifwait(T);signal(R);

Supponendo che i tre semafori binari R, S e T siano inizializzati rispettivamente a R = 0,S = 0 e T = 1, si determini quale valore iniziale della variabile x, tra quelli proposti nellerisposte, non comporti una situazione di stallo per i processi.

[A] x = 4

[B] x = 1

[C] x = 3

[D] x = 2

430

domanda N. 7:

Si determini la veridicita’ delle seguenti affermazioni:

a) Nei moderni sistemi operativi le tecniche di gestione della memoria centrale sono pocoimportanti a causa del basso costo economico delle stesse.

b) Andando dai livelli di memoria piu bassi (dispositivi secondari e terziari) a quelli piu alti(registri e cache), il costo economico per bit aumenta.

[A] a) vera ; b) falsa

[B] entrambe false

[C] a) falsa ; b) vera

[D] entrambe vere

domanda N. 8:

Sia dato un sistema che gestisce una memoria di 5120 byte mediante partizioni variabili. Sisupponga che nella memoria siano gia presenti 5 processi di dimensioni 740, 875, 250, 1450 e490 byte rispettivamente allocati negli indirizzi fisici 2048, 3072, 2788, 0 e 4096. Si determinil’indirizzo in cui verra allocato un ulteriore processo di 389 byte mediante la tecnica del bestfit.

[A] 3038

[B] 3947

[C] 4586

[D] 1450

domanda N. 9:

Si consideri un sistema con paginazione su due livelli. Per un processo che richiede 16 pagine,ognuna di 512 byte, di seguito si riportano la tabella delle pagine di primo livello (P ′) e le4 tabelle di secondo livello (P”0, P”1, P”2 e P”3), le quali hanno rispettivamente indirizzofisico iniziale 0, 512, 1024 e 1536:

P ′

0 0

1 512

2 1024

3 1536

P”0

0 8192

1 11776

2 5120

3 14336

P”1

0 10752

1 7680

2 3072

3 6144

P”2

0 5632

1 10240

2 13824

3 11264

P”3

0 9216

1 3584

2 12800

3 14848

Si determini quale indirizzo fisico, tra quelli proposti, non appartiene allo spazio di indirizza-mento del processo.

431

[A] 14338

[B] 3074

[C] 7666

[D] 11266

domanda N. 10:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo First InFirst Out (FIFO), che assegna ad ogni processo 3 frame di 512 Byte e che richiede 2 Byte perla memorizzazione di un intero. Ponendo attenzione solo agli array A, B e C, e ricordando cheil linguaggio C memorizza gli array 2-dimensionali per righe, si determini il numero di pagefaults del seguente frammento di codice C. ...int A[2][512], B[512], C[512];...N=512;for (i=0; i<2; i++){

for (j=0; j<N; j++){C[j] = B[j/2 + i*256] + A[i][j];

} }

[A] 8

[B] 10

[C] 11

[D] 12

domanda N. 11:

Si consideri un sistema operativo con paginazione su richiesta basato sull’algoritmo LeastRecently Used (LRU), che assegna ad ogni processo 5 frame. Se determini il numero di pagefaults per la squenza di riferimenti alle pagine:

3, 5, 6, 3, 6, 4, 7, 2, 4, 7, 5, 1, 4, 2, 6

[A] 9

[B] 8

[C] 10

[D] 7

432

domanda N. 12:

Sia dato un disco con 200 tracce e velocita di seek di 1 traccia per ms. All’istante t=0 ilsistema operativo sta servendo una richiesta sulla traccia 100 e in coda ci sono richieste per letracce (40; 65; 90; 120; 145; 125). Successivamente arrivano altre richieste all’istante t=30 perla traccia 95 e all’istante t=135 per la traccia 100. Si calcoli il tempo di ricerca complessivoper servire tutte le richieste secondo la politica Shortest Seek Time First (SSTF), trascurandola latenza rotazionale e il tempo di trasferimento.

[A] 210

[B] 165

[C] 215

[D] 185

domanda N. 13:

Si determini la veridicita’ delle seguenti affermazioni:

a) La motivazione originale per l’introduzione dei sistemi RAID e stata l’osservazione che lavelocita di trasferimento cresceva ad un tasso molto inferiore a quello della crescita siadella capacita dei dischi sia della potenza di elaborazione delle CPU.

b) L’algorimo di scheduling del disco First Come First Served tende ad avere una accettabilevarianza dei tempi di risposta a spese del numero di richieste servite per unita di tempo.

[A] entrambe false

[B] a) falsa ; b) vera

[C] entrambe vere

[D] a) vera ; b) falsa

domanda N. 14:

Si consideri un disco che opera a 7200 rpm (giri al minuto), dove ogni traccia e composta da160 settori di 512 bytes ognuno. Si determini la velocita di trasferimento necessaria per poterleggere o scrivere una traccia intera durante una rotazione del disco.

[A] circa 13400 KB/sec

[B] circa 19200 KB/sec

[C] circa 9600 KB/sec

433

[D] circa 4800 KB/sec

domanda N. 15:

Si determini la veridicita’ delle seguenti affermazioni:

a) Uno dei vantaggi della bitmap rispetto alla lista dei blocchi liberi e la possibilita, per ilsistema, di determinare in maniera efficiente l’esistenza di un certo numero di blocchiliberi contigui.

b) In un file system con struttura gerarchica (ad es. Unix), il nome di un file e formatodall’insieme dei nomi delle directory a partire dalla directory utente fino al file.

[A] a) falsa ; b) vera

[B] a) vera ; b) falsa

[C] entrambe false

[D] entrambe vere

domanda N. 16:

Sia dato un file system di 8 MB che gestisca i file mediante allocazione tabellare (ad es. unaFile Allocation Table). Si determini la dimensione della tabella nel caso in cui i blocchi deldisco siano di 1024 byte.

[A] 104 KB

[B] 64 KB

[C] 13 KB

[D] 12 KB

domanda N. 17:

Si determini la veridicita delle seguenti affermazioni:

a) Si consideri un file formato da 100 record allocato su disco in forma indicizzata dove irecord del file sono memorizzati uno per blocco e il file descriptor e gia in memoriacentrale. Se non e stato fatto ancora nessun accesso al file, allora per cancellare il 60-morecord sono necessari 35 accessi in lettura e 1 in scrittura.

b) Si consideri un file formato da 100 record allocato su disco in forma contigua dove i recorddel file sono memorizzati uno per blocco e il file descriptor e gia in memoria centrale. Sel’ultimo record letto e’ il record 10 allora per cancellare il 60-mo record sono necessari40 accessi in lettura e 40 in scrittura.

434

[A] a) vera ; b) falsa

[B] entrambe vere

[C] entrambe false

[D] a) falsa ; b) vera

435

================================================== compito N. 50 del 110609 ==========

=========================================

SVOLTO DA MATRICOLA

domanda 1

domanda 2

domanda 3

domanda 4

domanda 5

domanda 6

domanda 7

domanda 8

domanda 9

domanda 10

domanda 11

domanda 12

domanda 13

domanda 14

domanda 15

domanda 16

domanda 17

• 1.5 punti per ogni risposta esatta

• 0 punti per ogni risposta non data

• 0.5 punti di penalita’ per ogni risposta errata

FIRMA

436