Sei sulla pagina 1di 36

Pagina 1di 36

Domande a risposta multipla


Dare una sola risposta per ogni domanda
1--------------Si consideri il seguente path name Unix: /usr/gpr/a. Supponendo di avere in memoria centrale
descrittore di / e
che ogni directory file occupa un blocco fisico, quanti accessi a disco sono richiesti per
caricare in memoria
centrale il quindicesimo blocco del file 'a'?
A) 4
B) 5
C) 7
D) 6
Risposta esatta: C
2----------------Un sistema dotato di dispositivo di DMA deve trasferire un blocco di 512 byte in memoria
centrale. Il tempo di
accesso a memoria centrale e' di 200 nsec., il tempo medio di esecuzione di una istruzione
macchina e' di 1 micro
sec., la routine di gestione interrupt associata al DMA e' composta da circa 10 istruzioni.
Quanto tempo richiede il
trasferimento del blocco dal momento in cui il dispositivo di I/O riceve il blocco dal disco
momento in cui il
driver del disco riprende il ontrollo della CPU?
A) 10 microsec.
B) 112.4 microsec.
C) 614.4 microsec.
D) 10.2 microsec.
Risposta esatta: B
3-------------------Si consideri un sistema con 3 processi P0, P1 e P2 e 3 risorse non prelazionabili A, B e C.
All'istante t l'allocazione
delle risorse e' la seguente:
P0 possiede 1 risorsa di tipo A, 2 di tipo B e 2 di tipo C. Le richieste massime di P0 sono:
risorse di tipo A, 4 di
tipo B e 5 di tipo C.
P1 possiede 1 risorsa di tipo A e 2 di tipo C. Le richieste massime di P1 sono: 2 risorse di
tipo A, 2 di tipo B e 3 di
tipo C.
P2 possiede 1 risorsa di tipo A, 2 di tipo B e 1 di tipo C. Le richieste massime di P2 sono:
risorsa di tipo A, 2 di
tipo B e 1 di tipo C.
Il sistema dispone complessivamente di 3 risorse di tipo A,4 di tipo B e 5 di tipo C.
All'istante t il sistema e'
A) in deadlock
B) in uno stato non sicuro
C) in uno stato sicuro
D) in starvation
Risposta esatta: C
4-----------------------La scelta dell'area di memoria in cui caricare un segmento e' effettuata:
A) da una funzione di sistema invocata esplicitamente dal programma
B) da un modulo hardware/firmware
C) dal supporto a tempo di esecuzione del linguaggio
D) da un modulo software di sistema operativo
Risposta esatta: D
5------------------------In un sistema a processi con quanti di tempo e priorita' non preemptive la transizione dallo
stato di esecuzione
("running") a quello di pronto ("ready") si puo' verificare:
A) quando il processo esegue una operazione sospensiva
B) allo scadere del quanto di tempo o quando occorre mandare in esecuzione un processo a
priorita' piu' alta
C) quando occorre mandare in esecuzione un processo a priorita' piu' alta
D) allo scadere del quanto di tempo

il

al

Pagina 2di 36

Risposta esatta: D
6------------------------In un sistema paginato sono stati rilevati i seguenti parametri: utilizzo CPU 20%, utilizzo
Paging Disk 97%,
utilizzo altri dispositivi di I/O 5%. Volendo migliorare l'utilizzo della CPU quale dei seguenti
accorgimenti
adottereste?
A) installare un Paging Disk di maggiori dimensioni;
B) installare una CPU piu' veloce;
C) decrementare il grado di multiprogrammazione;
D) incrementare il grado di multiprogrammazione;
Risposta esatta: C
7-------------------------Come viene fornita al File System l'informazione relativa a quale record deve essere letto,
quando si effettua una
lettura su un file a accesso diretto?
A) non viene fornita, perche' il File System si basa sul concetto di posizione corrente
B) viene fornito il numero d'ordine del record
C) viene fornita una chiave di accesso
D) viene fornito il puntatore al blocco che contiene il record
Risposta esatta: B
8-------------------------Si consideri un sistema in cui sono in esecuzione 20 processi. Ciascun processo esegue
elaborazioni (CPU burst)
della durata media di 10 ms (con varianza piccola), poi manda un prompt all'utente e attende un
input da tastiera
che mediamente e' di 20 caratteri. I processi non fanno accessi a disco. Cosa ci si puo'
attendere come ordine di
grandezza del tempo medio di risposta in ms (tempo che intercorre fra il momento in cui l'utente
termina l'input e il
momento in cui riceve il prompt), nel caso di politica FIFO e RR con quanto di tempo di 50 ms?
A) 10,10
B) 100,10
C) 100,50
D) 100,100
Risposta esatta: A
Appello 15 gennaio 1997
1.1 Si consideri un sistema costituito da tre processi P1, P2 e P3, e due semafori
generalizzati S1 e S2 inizializzati a zero. I processi hanno la seguente struttura:
P1: repeat {V(S1)} forever
P2: repeat {P(S1); print("A"); V(S2)} forever
P3: repeat {P(S2); print("B")} forever
Quale fra le seguenti sequenze NON pu sicuramente essere stampata
A. ABABABAB.....
B. AAABBAABBBA....
C. AAABBABBBA....
D. AABBAABBAA...
Risposta esatta: C
In un sistema a memoria paginata si consideri la seguente stringa di riferimento a memoria:
1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6
1.2 Considerando 5 frame allocate per processo quanti page fault sono generati
rispettivamente con gli algoritmi FIFO e LRU?
A. 10, 7
B. 9,6
C. 10, 8
D. 11,10
Risposta esatta: C
1.3 Si consideri un sistema in cui esistono cinque unita' della risorsa R1 e sette unita'
della risorsa R2, e tre processi P1, P2 e P3. Le richieste massime per i tre processi sono
rispettivamente (3, 3), (4, 7) e (5, 4). Al tempo T la situazione di allocazione e'
rispettivamente (2, 2), (1, 4) e (1, 0). Il sistema si trova in uno stato sicuro?
A. si, con la sequenza P2, P1, P3
B. si, con la sequenza P1, P3, P2

Pagina 3di 36

C. si, con la sequenza P1, P2, P3


D. no
Risposta esatta: C
1.4 Si considerino due file A e B di 20 blocchi fisici ciascuno. In A i blocchi sono
allocati contiguamente, per B invece e' stato seguito uno schema di allocazione linkata.
Supponendo che i file siano gia' stati aperti e che nel caso di allocazione contigua i
blocchi liberi siano in coda a quelli occupati, qual e' il numero di accessi fisici a disco
necessario per inserire un blocco fisico nella posizione 11 del file?. (Si supponga che ogni
accesso a disco trasferisca un unico blocco fisico, e che nel caso B si conosca inizialmente
solo l'indirizzo del primo blocco dati)
A. nessuna delle altre risposte e' corretta
B. A = (41), B = (2)
C. A = (1) , B = (12)
D. A = (21) , B = (12)
Risposta esatta: D
1.5 Si consideri un sistema in cui sono in esecuzione 20 processi. Ciascun processo attende
un input da tastiera, esegue elaborazioni (CPU burst) della durata media di 10 ms (con
varianza piccola), manda un prompt all'utente e attende un nuovo input. Ciascun input da
tastiera mediamente e' di 20 caratteri. I processi non fanno accessi a disco. Cosa ci si
puo' attendere come ordine di grandezza del tempo medio di risposta in ms (tempo che
intercorre fra il momento in cui l'utente termina l'input e il momento in cui riceve il
prompt), nel caso di politica FIFO e RR con quanto di tempo di 50 ms?
A. 10,10
B. 100,10
C. 100,50
D. 100,100
Risposta esatta: A
1.6 In un sistema che utilizza la tecnica del busy waiting per controllare il verificarsi di
eventi, in quali delle seguenti condizioni e' garantito che i processi possono reagire al
verificarsi di eventi esterni segnalati da interrupt?
A. se il sistema usa uno scheduler di tipo round robin
B. se il sistema usa uno scheduler di tipo FIFO
C. se vengono associate le priorita' agli interrupt
D. in ogni condizione purche' si operi ad interrupt abilitati
Risposta esatta: A
1.7 Quando e da chi viene effettuato il test sulla presenza di una interruzione?
A. dalla unita' centrale in corrispondenza di ogni ciclo di clock
B. dal nucleo al momento della abilitazione delle interruzioni
C. dalla unita' centrale immediatamente prima della fase di fetch
D. non viene effettuato nessun test, perche' le interruzioni sono gestite in modo asincrono
Risposta esatta: C
1.8 Quale tra le seguenti affermazioni e' falsa?
A. un sistema multiprogrammato non e' necessariamente multiutente
B. un sistema multiprogrammato richiede l'utilizzo della rilocazione dinamica
C. un sistema multiprogrammato consente di sovrapporre I/O e elaborazioni
D. un sistema multiprogrammato non richiede necessariamente la presenza di memoria virtuale
Risposta esatta: B
1.9 In Unix la primitiva SYNC consente di forzare la scrittura su disco di un blocco di dati
in buffer cache. In MS/DOS questa primitiva non esiste. Perche'?
A. perche' in MS/DOS la responsabilita' dei salvataggi su disco e' lasciata alle
applicazioni
B. perche' MS/DOS usa una tecnica di write-through caching
C. perche' MS/DOS e' uniprogrammato, quindi i blocchi di dati in memoria rimangono allocati
al processo in esecuzione fino alla sua terminazione
D. perche' Unix e' time-sharing, quindi occorre poter sincronizzare gli accessi a disco e
l'esecuzione dei programmi
Risposta esatta: B
1.10 Quanti accessi a disco richiede una operazione di "seek" (cambiamento della posizione
corrente) su un file sequenziale (su disco)?
A. occorre un numero di accessi proporzionale alla distanza fra la posizione corrente
vecchia e quella nuova
B. nessuno
C. dipende dalla tecnica di allocazione dei blocchi fisici. Se e' con indice ad albero
occorre un numero di accessi uguale alla profondita' dell'albero. Se e' a lista occorre un

Pagina 4di 36

numero di accessi proporzionale alla distanza fra la posizione corrente vecchia e quella
nuova
D. dipende dalle politiche di gestione del buffer pool
Risposta esatta: B
Appello 13 gennaio 1999
Dare una sola risposta per ogni domanda. E' facoltativo inserire un BREVE commento per ciascun
quiz. Il commento non
altera il punteggio, ma puo' essere utile in sede di discussione orale (a volte c'e' una logica
anche negli errori...).
Si consideri un sistema costituito da tre processi P1, P2 e P3, e tre semafori binari S1
inizializzato a verde, S2 e S3 inizializzati a rosso. I processi hanno la seguente struttura:
1.
P1: repeat {P(S1); print( "A"); "estrazione casuale di un valore X booleano"; if X V(S2) else
V(S3);}
forever
P2: repeat {P(S2); print("B"); V(S1)} forever
P3: repeat {P(S3); print("C"); V(S1)} forever
Quale fra le seguenti sequenze non pu essere stampata?
ABAABAAC&.. A.
ACACACAC&. B.
ABABABAB&. C.
ABACABAC& D.
Risposta esatta: A
In un sistema a memoria paginata si consideri la seguente stringa di riferimento a memoria: 1.
1 2 3 4 1 2 5 6 3 4 1 2 3 4
Considerando 4 frame allocate per processo quanti page fault sono generati rispettivamente con
gli
algoritmi FIFO e LRU?
10, 10 A.
10, 9 B.
8, 10 C.
10, 8 D.
Risposta esatta: A
In un sistema Unix viene mandato in esecuzione un programma con la seguente struttura: 1.
var i:integer=0;
if fork() {print(1); i=i+1; "elaborazioni1 che non manipolano i"; printi(i)}
else {print (1); i=i-1; "elaborazioni2 che non manipolano i"; print(i)}; &.
Quale fra le seguenti sequenze non pu essere stampata?
0, 1, 0, -1 A.
0, 0, 1, -1 B.
0, -1, 0, 1 C.
0, 1, 1, 0 D.
Risposta esatta: D
Quale fra le seguenti politiche di scheduling: non "safe", cio non garantisce l_esecuzione
di ciascun processo entro un tempo finito? 1) FIFO, 2) Round Robin, 3) a priorit
"preemptive"
1.
FIFO A.
Round Robin B.
a priorit preemptive C.
nessuna, sono tutte politiche "safe" D.
Risposta esatta: C
Si consideri un sistema a processi (o a thread, in questo contesto le due cose sono
equivalenti). Il processo in esecuzione esegue una readchar(my_buffer), con cui richiede di
leggere un carattere da tastiera; my_buffer il puntatore a variabile locale al processo dove
dovr essere scritto il carattere. La tastiera connessa attraverso una interfaccia seriale che
genera un interrupt per ogni carattere letto. Dopo aver emesso il comando il processo passa
in stato di attesa (wait). Quando passer in stato di pronto (ready)?
1.
quando il driver riconosce che stata completato l_input di una linea A.
quando il controller riconosce che stata completato l_input di una linea B.
ogni volta che viene ricevuto un interrupt da tastiera C.

Pagina 5di 36

quando lo scheduler, in funzione delle sue politiche, decide di mandare in esecuzione il


processo D.
Risposta esatta: C
Un sistema concorrente necessariamente: 1.
multiprogrammato A.
multithreaded B.
time-sharing C.
multithreaded e time-sharing D.
Risposta esatta: B
Si consideri un sistema con 5 processi P0, P1, P2, P3 e P4 e 4 risorse A, B, C, e D. All
_istante t la situazione di allocazione risorse la seguente:
1.
P0 possiede 6 risorse di tipo B, 3 di tipo C e 2 di tipo D. Le richieste massime di P0 sono: 6
risorse
di tipo B, 5 di tipo C e 2 di tipo D.
l
P1 possiede 1 risorsa di tipo A. Le richieste massime di P1 sono: di 1 risorsa di tipo A, 7 di
tipo C
e 5 di tipo D.
l
P2 possiede 1 risorsa di tipo A, 3 di tipo B, 5 di tipo C e 4 di tipo D. Le richieste massime di
P2
sono: 2 risorse di tipo A, 3 di tipo B, 5 di tipo C e 6 di tipo D.
l
P3 possiede 1 risorsa di tipo C. Le richieste massime di P3 sono: di 6 risorse di tipo B, 7
risorse di l tipo C e 6 di tipo D.
P4 possiede 1 risorsa di tipo C e 4 di tipo D. Le richieste massime di P4 sono: 6 risorse di
tipo B, 5
di tipo C e 6 di tipo D.
l
Nel sistema sono disponibili ancora due risorse di tipo C. All_istante t il sistema in uno
stato:
non sicuro A.
di deadlock; B.
sicuro, con pi sequenze C.
sicuro con una sola sequenza possibile D.
Risposta esatta: D
Si consideri un file di tipo byte stream con allocazione fisica a lista. Il file ha una
dimensione di 10000 blocchi fisici di 512 byte. Quanti accessi a disco puo' richiedere una
sequenza di due comandi "seek (1000)" e "read (x)", dove x e' di tipo char? Si supponga che
si tratti delle prime operazioni eseguite dopo l'apertura del file.
1.
A) 2
B) 1000
C) 3
D) 1001
Risposta esatta: A
Appello 13 gennaio 2000
Dare una sola risposta per ogni domanda
E' facoltativo inserire un BREVE commento per ciascun quiz. Il commento non altera il punteggio,
ma puo' essere utile
in sede di discussione orale (a volte c'e' una logica anche negli errori...).
1--------------La gestione di operazioni di I/O su interruzione e' piu' efficiente di quella a controllo di
programma
a) vero, se per "efficienza" si intende la capacita' di utilizzare al meglio la CPU, e se la
frequenza di trasferimento dati e'
vicina alla frequenza di esecuzione delle istruzioni macchina
b) vero, se per "efficienza" si intende la capacita' di trasferire dati alla massima velocita'
possibile
c) vero, se per "efficienza" si intende la capacita' di utilizzare al meglio la CPU, e se la
frequenza di trasferimento dati e'
bassa rispetto alla frequenza di esecuzione delle istruzioni macchina

Pagina 6di 36

d) falso, tranne che nel caso di sistemi multiutente


Risposta esatta: c
Commento: la gestione su interruzione e' piu' efficiente se il tempo perso per eseguire la
routine di risposta e' piccolo
rispetto al tempo che rimane disponibile per eseguire altre attivita'. Se si vuole la massima
velocita' di trasferimento, il
controllo da programma e' piu' "efficiente".
2----------------Si ha una macchina con registri di indirizzamento di 16 bit e bus dati a parallelismo 8. Quanti
accessi a memoria
richiede (compresa la fase di fetch) l'esecuzione di una istruzione di tipo "sposta un dato da
memoria a memoria", in cui
si usa una modalita' di indirizzamento indiretto attraverso memoria sia per la sorgente che per
la destinazione, e il dato
da spostare e' di un byte? (si supponga che il codice operativo, comprese le modalita' di
indirizzamento, occupi un byte;
e che non esistano meccanismi di caching o di prefetch).
a) 11
b) 6
c) 7
d) 3
Risposta esatta: a
Commento: l'istruzione ha una dimensione di 5 byte (codice operativo + 2 operandi di 16 bit). La
lettura del dato
richiede di leggere l'indirizzo (16 bit), poi il dato (8 bit). Analogamente per la scrittura. In
totale 10 byte da leggere e 1
da scrivere, quindi 11 accessi poiche' il bus dati e' a parallelismo 8.
3-------------------Si considerino i seguenti processi Produttore e Coonsumatore, che scambiano dati attraverso un
buffer a una posizione,
sincronizzandosi attraverso l'uso del semaforo S (inizializzato a 0):
Produttore:
integer i=0;
repeat
i=i+1;
buffer=i;
V(S);
forever
Consumatore:
integer j;
repeat
P(S);
j=buffer;
print(j);
forever
Quale tra le seguenti sequenze NON puo' sicuramente venire stampata?
a) 12345_
b) 13579_
c) 12234_
d) 23456_
Risposta esatta: c
Commento: il consumatore si sincronizza sul semaforo, quindi non puo' leggere due volte lo stess
carattere. In
produttore non si sincronizza, quindi puo' sovrascrivee un carattere prima che sia letto.
4-----------------------Si consideri un sistema con 4 processi P0_P3 e 3 risorse A,B,C.
Num e il numero totale di unita di ciascuna risorsa.
Piass e il numero di unita di risorse assegnate a ciascun processo.
Pimax e il numero totale massimo di unita richiedibile da ciascun processo.
Num P0ass POmax P1ass P1max P2ass P2max P3ass P3max
A 5 1 3 1 3 1 1 1 3
B 4 2 4 2 2 0 1 0 0
C 6 2 4 2 3 1 1 0 1
Il sistema e':

Pagina 7di 36

a) in uno stato non sicuro


b) in un stato sicuro
c) in deadlock
d) in starvation
Risposta esatta: a
Commento: non ci sono risorse libere sufficienti a soddisfare le richieste massime di nessun
processo.
5------------------------Si consideri un file ad accesso diretto in cui ogni blocco fisico contiene esattamente 10 record
logici e i blocchi fisici
sono organizzati a lista. Viene bufferizzato un solo blocco. Se l'ultimo record letto e' il
numero 417, quanti accessi a
disco richiede la lettura del record numero 483?
a) 7
b) 8
c) 66
d) 1
Risposta esatta: a
Commento: il blocco che contiene i record 410-419 e' gia' in memoria. Occorre seguire la lista
fino a caricare il blocco
che contiene i record 480-489.
6------------------------Si consideri una routine di risposta a interruzione con la seguente struttura:
"prologo"
move registro periferica to accumulatore1
incrementa accumulatore1
jump_to_subroutine alfa
"epilogo"
Quali registri devono essere salvati dal prologo e ripristinati dall'epilogo, supponendo che la
subroutine alfa utilizzi
accumulatore1 e accumulatore2, e che utilizzi un'area stack privata?
a) accumulatore1, accumulatore2
b) accumulatore1, accumulatore2, program counter
c) tutti i registri di CPU
d) accumulatore1, accumulatore2, stack pointer
Risposta esatta: d
Commento: devono essere salvati via software i registri che vengono utilizzati all'interno della
routine di risposta. Lo
stack pointer deve venire salvato in modo da poter essere impostato all'indirizzo dell'area
stack privata. Il program
counter viene salvato dall'hardware.
7-------------------------Una organizzazione a segmenti della memoria in un sistema che non gestisce le interruzioni di
segment fault:
a) e' utile solo perche' garantisce la protezione dei segmenti contro accessi non autorizzati
b) non ha nessuna utilita' pratica, anche se e' teoricamente fattibile
c) e' utile perche' garantisce la protezione dei segmenti contro accessi non autorizzati, e
consente di gestire uno spazio
di memoria fisica maggiore di quello logico
d) non e' realizzabile perche' la MMU genera le interruzioni di segment fault che, se non
gestite, produrrebbero
malfunzionamenti
Risposta esatta: c
No comment
8-------------------------Si consideri un processo in esecuzione su un sistema paginato (dimensione di ogni pagina 100
byte), che adotta
l'algoritmo di rimpiazzamento LRU. Si calcoli il numero di page fault che si verificano se,
subito dopo l'inizio
dell'esecuzione, il processo riferisce i seguenti indirizzi di memoria:
10, 11, 105, 160, 61, 359, 160, 295, 280, 475, 402, 350
Si consideri il fatto che al processo non verranno assegnati, durante la sua esecuzione,
pi[[breve]] di due frame di

Pagina 8di 36

memoria..
a) 5
b) 7
c) 12
d) 6
Risposta esatta: b
No comment
9-------------------------In una rete a maglia e di tipo datagram l'algoritmo di instradamento
a) non viene applicato
b) e' applicato al primo pacchetto che appartiene al flusso da una sorgente ad una destinazione
c) deve essere di tipo adattivo per consentire di trasferire pacchetti su cammini diversi
d) e' applicato ad ogni pacchetto compresi i pacchetti di controllo
Risposta esatta: d
Commento: poiche' il servizio di tipo datagram e' connectionless, bisogna ripetere
l'istradamento per ogni pacchetto
trasmesso. Non "deve" (ma puo') essere di tipo adattivo.
10-------------------------Una politica di short-term scheduling di tipo FIFO senza preemption puo' essere utilizzata
a) in sistemi batch nei quali la risorsa critica e' la CPU, e in sistemi interattivi nei quali
si e' sicuri che tutti i processi
sono IO-bound
b) solo in sistemi batch nei quali la risorsa critica e' la CPU
c) solo in sistemi interattivi nei quali si e' sicuri che tutti i processi sono IO-bound
d) non deve essere utilizzata, perche' potrebbe comportare che un processo monopolizzi la CPU
per un tempo
impredicibile
Risposta esatta: a
Commento: se il sistema e' batch e la risorsa critica e' la CPU, non interessa molto il tempo di
risposta, ma interessa
minimizzare l'overhead dovuto alle commutazioni di contesto. In un sistema interattivo interessa
il temp di risposta, ma
se tutti i processi sono IO-bound si e' sicuri che nessuno monopolizza la CPU.
Appello 18 febbraio 1997
Dare una sola risposta per ogni domanda. E' facoltativo inserire un BREVE commento per ciascun
quiz. Il commento non
altera il punteggio, ma puo' essere utile in sede di discussione orale (a volte c'e' una logica
anche negli errori...).
1 ==========
Cosa contiene il program counter appena un processo P1 viene schedulato per
l'esecuzione e la CPU e' pronta ad eseguire la fase di fetch della prima istruzione
di
P1? Si consideri un sistema segmentato e l' indirizzo fisico del primo segmento di
codice di P1 e' 4096:
A) 4096
B) 0000
C) l'indirizzo dello spazio logico in cui il loader ha caricato il programma
D) l'indirizzo contenuto nella prima cella della segment table
Risposta esatta: B
2 ==========
La macchina virtuale emulata da un nucleo che supporta un sistema a processi e un
meccanismo di fork di tipo Unix e' logicamente assimilabile a:
A) un sistema con piu' processori e una memoria condivisa
B) un sistema con un unico processore e uno spazio di memoria privata per
ciascun
processo
C) un sistema con piu' processori, una memoria privata per ciascun processore, e
uno
spazio di memoria condivisa utilizzato per la comunicazione tra processi
D) un sistema con piu' processori e una memoria privata per ciascun processore
Risposta esatta: D
3==============
Si consideri un sistema con 5 processi P0, P1, P2, P3 e P4 e 4 risorse A, B, C, e D.

Pagina 9di 36

Allistante t la situazione di allocazione risorse la seguente:


P0 possiede 6 risorse di tipo B, 3 di tipo C e 2 di tipo D. Le richieste massime di
P0
sono: 6 risorse di tipo B, 5 di tipo C e 2 di tipo D.
P1 possiede 1 risorsa di tipo A. Le richieste massime di P1 sono: di 1 risorsa di
tipo
A, 7 di tipo C e 5 di tipo D.
P2 possiede 1 risorsa di tipo A, 3 di tipo B, 5 di tipo C e 4 di tipo D. Le richieste
massime di P2 sono: 2 risorse di tipo A, 3 di tipo B, 5 di tipo C e 6 di tipo D.
P3 possiede 1 risorsa di tipo C. Le richieste massime di P3 sono: di 6 risorse di
tipo
B, 7 risorse di tipo C e 6 di tipo D.
P4 possiede 1 risorsa di tipo C e 4 di tipo D. Le richieste massime di P4 sono: 6
risorse di tipo B, 5 di tipo C e 6 di tipo D.
Nel sistema sono disponibili ancora due risorse di tipo C. Allistante t il sistema
in uno stato:
A) non sicuro
B) di deadlock;
C) sicuro, con pi sequenze
D) sicuro con una sola sequenza possibile
Risposta esatta: D
4================
Si consideri un file di tipo byte stream con allocazione fisica a lista. Il file ha
una
dimensione di 10000 blocchi fisici di 512 byte. Quanti accessi a disco puo'
richiedere
una sequenza di due comandi "seek (1000)" e "read (x)", dove x e' di tipo char? Si
supponga che si tratti delle prime operazioni eseguite dopo l'apertura del file.
A) 2
B) 1000
C) 3
D) 1001
Risposta esatta: A
5=============
Al verificarsi di una interruzione i contenuti del Program Counter e del registro di
stato (PSW) vengono salvati dall'hardware.
A) vero, per motivi di efficienza
B) vero, perche' tutti i registri di CPU devono venire salvati dall'hardware
C) falso, perche' vengono salvati dalla routine di risposta a interruzione
D) vero, altrimenti si perderebbero informazioni di stato della CPU
Risposta esatta: D
6===============
In un sistema a processi con scheduling FIFO e priorita' non preemptive la
transizione
dallo stato di esecuzione ("running") a quello di pronto ("ready") si puo'
verificare:
A) allo scadere del quanto di tempo
B) mai
C) quando occorre mandare in esecuzione un processo a priorita' piu' alta
D) quando il processo esegue una operazione sospensiva
Risposta esatta: B
7=================
La dimensione teorica di una memoria virtuale a pagine e' limitata:
A) dal numero di bit dei registri di indirizzamento
B) dalla necessita' di evitare il thrashing
C) non esiste limitazione
D) dalle dimensioni della memoria di massa
Risposta esatta: A
8=================
Quale tra i seguenti algoritmi di scheduling e' piu' appropriato per la gestione di
un
sistema real-time?
A) SJF
B) Round Robin

Pagina 10di 36

C) FIFO con priorita'


D) FIFO
Risposta esatta: C
9==================
In un piccolo sistema multitasking si puo' verificare che in alcune situazioni tutti
i
processi utente sono nello stato di waiting per effetto della esecuzione di
operazioni
P() su eventi esterni. Lo scheduler, di tipo FIFO a priorita', e' di fatto una
procedura richiamata dalle operazioni P() e V() ad ogni cambiamento di stato. In
questo
caso
A) e' necessario eseguire un processo di sistema con struttura
ghost_process: halt
GOTO ghost_process
con priorita' inferiore a tutti gli altri
B) e' necessario eseguire un processo di sistema con struttura
ghost_process: halt
con priorita' inferiore a tutti gli altri
C) e' necessario eseguire un processo di sistema con struttura
loop
P(system_semaphore)
end loop
con priorita' superiore a tutti gli altri se di sistema
D) e' necessario eseguire lo scheduler come processo e non come procedura
Risposta esatta: A
10================
Quale dei seguenti algoritmi di scheduling del disco garantisce un tempo di attesa
piu'
uniforme?
A) SCAN o ascensore
B) C-SCAN o ascensore con scan in unica direzione
C) FCFS
D) Shortest Seek First
Risposta esatta: B
Appello 18 febbraio 1998
Dare una sola risposta per ogni domanda. E' facoltativo inserire un BREVE commento per ciascun
quiz.
Il commento non altera il punteggio, ma puo' essere utile in sede di discussione orale (a volte
c'e' una
logica anche negli errori...).
1.1 Si consideri un sistema costituito da tre processi P1, P2 e P3, e tre semafori binari
S1inizializzato a
verde, S2 e S3 inizializzati a rosso. I processi hanno la seguente struttura:
P1: repeat {P(S1); print "A"; "estrazione casuale di un valore X booleano"; if X V(S2) else
V(S3);}
forever
P2: repeat {P(S2); print("B"); V(S3)} forever
P3: repeat {P(S3); print("C"); V(S1)} forever
Quale fra le seguenti sequenze NON pu sicuramente essere stampatadeg.
A. ABCABCABC.....
B. ACACACAC....
C. ABCABABC....
D. ABCACABC...
Risposta esatta: C
1.2 In un sistema a memoria paginata si consideri la seguente stringa di riferimento a memoria:
1 2 3 4 5
1 6 1 3 7 3
Considerando 5 frame allocate per processo quanti page fault sono generati rispettivamente con
gli
algoritmi FIFO e LRU?
A. 10, 7
B. 9,7

Pagina 11di 36

C. 10, 8
D. 9,8
Risposta esatta: B
1.3 Cosa contiene il program counter appena un processo P1 viene schedulato per l'esecuzione e
la CPU
e' pronta ad eseguire la fase di fetch della prima istruzione di P1? Si consideri un sistema
segmentato e l'
indirizzo fisico del primo segmento di codice di P1 e' 4096:
A. 4096
B. 0000
C. l'indirizzo dello spazio logico in cui il loader ha caricato il programma
D. l'indirizzo contenuto nella prima cella della segment table
Risposta esatta: B
1.4 Al verificarsi di una interruzione i contenuti dei registri accumolatori devono venire
salvati
dall'hardware.
A. vero, per motivi di efficienza
B. vero, perche' tutti i registri di CPU devono venire salvati dall'hardware
C. falso, perche' possono essere salvati dalla routine di risposta a interruzione
D. falso, perche' tutti i registri di CPU possono essere salvati dalla routine di risposta a
interruzione
Risposta esatta: C
1.5 Quale dei seguenti algoritmi di scheduling del disco garantisce un tempo di attesa piu'
uniforme?
A. SCAN o ascensore con scansione bidirezionale
B. C-SCAN o ascensore con scansione in unica direzione
C. FCFS
D. Shortest Seek First
Risposta esatta: B
1.6 In un sistema a processi con scheduling FIFO e priorita' preemptive la transizione dallo
stato di
esecuzione ("running") a quello di pronto ("ready") si puo' verificare:
A. allo scadere del quanto di tempo
B. mai
C. quando occorre mandare in esecuzione un processo a priorita' piu' alta
D. quando il processo running esegue una operazione sospensiva
Risposta esatta: C
1.7 In Unix la primitiva SYNC consente di forzare la scrittura su disco di un blocco di dati in
buffer
cache. In MS/DOS questa primitiva non esiste. Perche'?
A. perche' in MS/DOS la responsabilita' dei salvataggi su disco e' lasciata alle applicazioni
B. perche' MS/DOS usa una tecnica di write-through caching
C. perche' MS/DOS e' uniprogrammato, quindi i blocchi di dati in memoria rimangono allocati al
processo in esecuzione fino alla sua terminazione
D. perche' Unix e' time-sharing, quindi occorre poter sincronizzare gli accessi a disco e
l'esecuzione dei
programmi
Risposta esatta: B
1.8 Quanti accessi a disco richiede una operazione di "seek" (cambiamento della posizione
corrente) su
un file sequenziale (su disco)?
A. occorre un numero di accessi proporzionale alla distanza fra la posizione corrente vecchia e
quella
nuova
B. nessuno
C. dipende dalla tecnica di allocazione dei blocchi fisici. Se e' con indice ad albero occorre
un numero di
accessi uguale alla profondita' dell'albero. Se e' a lista occorre un numero di accessi
proporzionale alla
distanza fra la posizione corrente vecchia e quella nuova
D. dipende dalle politiche di gestione del buffer pool
Risposta esatta: B
Appello 24 febbraio 1999

Pagina 12di 36

Dare una sola risposta per ogni domanda. E' facoltativo inserire un BREVE commento per ciascun
quiz. Il commento non
altera il punteggio, ma puo' essere utile in sede di discussione orale (a volte c'e' una logica
anche negli errori...).
Si consideri un sistema costituito da tre processi P1, P2 e P3, e due semafori generalizzati S1,
S2
inizializzati a zero. I processi hanno la seguente struttura:
1.
P1: repeat {V(S1);} forever
P2: repeat {P(S1); print("A"); V(S2);} forever
P3: repeat {P(S2); print("B");} forever
Quale fra le seguenti sequenze non pu essere stampata?
ABAABAAB A.
ABABABAB B.
AAAABBBB C.
ABAABBBA D.
Risposta esatta: D
In un sistema a memoria paginata si consideri la seguente stringa di riferimento a memoria: 1.
1 2 3 4 1 2 5 6 3 4 1 2 3 4
Considerando 4 frame allocate per processo quanti page fault sono generati rispettivamente con
gli algoritmi FIFO e LRU?
10, 10 A.
10, 7 B.
8, 7 C.
10, 8 D.
Risposta esatta: B
In un sistema Unix viene mandato in esecuzione un programma con la seguente struttura: 1.
var i:integer=0;
if fork() { i++; "elaborazioni che non manipolano i";}
else { i--; "elaborazioni che non manipolano i";};
i++; print(i);
Quale fra i seguenti output pu essere stampato?
1 2 A.
2 1 B.
0 2 C.
1 D.
Risposta esatta: C
In un sistema paginato interattivo esistono 5 terminali a ciascuno dei quali associato un
processo con una
struttura ciclica che attende input da terminale, svolge elaborazioni della durata media di 100
ms e manda
un output su terminale. Si rileva un tempo di risposta medio di 250 ms. Cosa si pu dedurre?
1.
che il sistema dimensionato correttamente A.
che la memoria centrale sottodimensionata B.
che la CPU troppo lenta C.
che le misure sono errate D.
Risposta esatta: B
Una organizzazione a segmenti della memoria in un sistema che non gestisce le interruzioni di
segment
fault:
1.
e' utile solo perche' garantisce la protezione dei segmenti contro accessi non autorizzati A.
e' utile perche' garantisce la protezione dei segmenti contro accessi non autorizzati, e
consente di gestire uno spazio
di memoria fisica maggiore di quello logico
B.
non ha nessuna utilita' pratica, anche se e' teoricamente fattibile C.
non e' realizzabile perche' la MMU genera le interruzioni di segment fault che, se non gestite,
produrrebbero
malfunzionamenti
D.
Risposta esatta B

Pagina 13di 36

Quale fra le seguenti politiche di scheduling pu essere adottata se si vogliono favorire i


lavori interattivi, e
non si conoscono a priori le caratteristiche dei lavori stessi?
1.
FIFO A.
Round Robin B.
a priorit statica preemptive C.
SPT D.
Risposta esatta: B
Si consideri un sistema a processi (o a thread, in questo contesto le due cose sono
equivalenti). Il processo
in esecuzione esegue una readln (my_buffer), con cui richiede di leggere un carattere da
tastiera; my_buffer
il puntatore a un array locale al processo dove dovranno essere scritti i caratteri letti. La
tastiera
connessa attraverso una interfaccia seriale che genera un interrupt per ogni carattere letto.
Dopo aver
emesso il comando il processo passa in stato di attesa (wait). Quando passer in stato di pronto
(ready)?
1.
quando il driver riconosce che stata completato l'input di una linea A.
quando il controller riconosce che stata completato l'input di una linea B.
ogni volta che viene ricevuto un interrupt da tastiera C.
quando lo scheduler, in funzione delle sue politiche, decide di mandare in esecuzione il
processo D.
Risposta esatta: A
In un sistema a processi con scheduling a priorita' non preemptive la transizione dallo stato di
esecuzione
("running") a quello di pronto ("ready") si puo' verificare:
1.
allo scadere del quanto di tempo A.
mai B.
quando occorre mandare in esecuzione un processo a priorita' piu' alta C.
quando il processo running esegue una operazione sospensiva D.
Risposta esatta: B
Appello 23 febbraio 2000
Dare una sola risposta per ogni domanda
E' facoltativo inserire un BREVE commento per ciascun quiz. Il commento non altera il punteggio,
ma
puo' essere utile in sede di discussione orale (a volte c'e' una logica anche negli errori...).
1--------------E' utile disporre di una organizzazione a processi in un sistema operativo monoutente (personal
computer?)
a) la questione non si pone, perche' tutti i sistemi operativi sono organizzati a processi
b) no, perche' lo schema a processi ha senso solo in sistemi multiutente
c) si, perche' consente di svolgere diverse attivita' in parallelo
d) no, perche' comporterebbe una eccessiva occupazione di memoria
Risposta: C
2----------------Si consideri un nucleo con semafori basato su una politica FIFO. Si vuole trasformarlo in un
nucleo con
politica Round-Robin:
a) e' possibile modificando l'implementazione delle operazioni P e V
b) non e' possibile perche' il nucleo viene eseguito a interruzioni disabilitate
c) e' possibile modificando la struttura dello scheduler
d) non e' possibile perche' in un ambiente di programmazione concorrente le politiche di
scheduling sono
invisibili
Risposta: C
3-------------------Si consideri un sistema con 4 processi P0_P3 e 3 risorse A,B,C.
Num e' il numero totale di unita' di ciascuna risorsa.
Piass e' il numero di unita' di risorse assegnate a ciascun processo.

Pagina 14di 36

Pimax e' il numero totale massimo di unita' richiedibile da ciascun processo.


Num P0ass POmax P1ass P1max P2ass P2max P3ass P3max
A 5 1 2 1 3 1 2 1 3
B 4 2 2 2 2 0 1 0 0
C 6 2 3 2 3 1 1 0 1
Al tempo t quella mostrata e' la situazione di allocazione. Il processo P1 richiede una risorsa
di tipo A. Se
la richiesta viene soddisfatta, il sistema passa:
a) da uno stato sicuro a uno stato non sicuro
b) da uno non sicuro a uno stato non sicuro
c) da uno stato sicuro a uno stato di deadlock
d) da uno stato non sicuro a uno stato di deadlock
Risposta: A
4-----------------------Si considerino i seguenti processi Produttore e Coonsumatore, che scambiano dati attraverso un
buffer a
una posizione, sincronizzandosi attraverso luso del semaforo binario S (inizializzato a 0):
Produttore:
integer i=0;
repeat
i=i+1;
buffer=i;
V(S);
forever
Consumatore:
integer j;
repeat
if (j e' dispari) P(S);
print(j);
forever
Quale tra le seguenti sequenze NON puo' sicuramente venire stampata?
a) 12345_ b) 13579_
c) 12234_ d) 11234_
Risposta: D
Commento: la sincronizzazione e' fatta in modo che il consumatore non possa leggere due volte lo
stesso
numero dispari
5------------------------Quali sono i parametri che il programma utente deve fornire al file system per eseguire una
operazione di
lettura su un file con accesso a chiave?
a) identificatore del file, buffer in memoria centrale
b) identificatore del file, buffer in memoria centrale e numero d'ordine del record
c) nome simbolico del file, buffer in memoria centrale e chiave di accesso
d) identificatore del file, buffer in memoria centrale e chiave di accesso
Risposta: D
6------------------------La suddivisione in segmenti di un programma Pascal e' effettuata
a) dal sistema di programmazione (compilatore + linker)
b) dal programmatore
c) dal sistema operativo
d) dalla Memory Management Unit
Risposta: A
7-------------------------La parola di stato della CPU ("Processor Status Word", PSW) viene salvata dal meccanismo
hardware di
gestione dell'interruzione. E' vero o falso, e perche'?
a) Vero, per rendere piu' efficiente la commutazione di contesto
b) Vero, perche' occorre salvare lo stato di abilitazione delle interruzioni
c) Falso, perche' viene salvata a livello software dalla routine di risposta
d) Falso, perche' i flag di stato non sono usati dalla routine di risposta
Risposta: B
8-------------------------Come puo' il sistema rilevare il thrashing?

Pagina 15di 36

a) valutando il livello di multiprogrammazione


b) controllando il working set
c) in base alla localita' di un processo
d) valutando il livello di utilizzo della CPU comparato al livello di multiprogrammazione
Risposta: D
9-------------------------Che effetto ha l'esecuzione della primitiva Unix s=execve(nome,...)?
a) crea un nuovo processo il cui identificatore e' "nome"
b) crea un nuovo processo che esegue il programma contenuto nel file "nome"
c) sostituisce l'immagine di memoria del processo in esecuzione con il programma contenuto nel
file
"nome"
d) manda in esecuzione il processo "nome"
Risposta: C
10-------------------------Quando vengono applicati gli algoritmi di instradamento su una rete a maglia e circuiti
virtuali?
a) ogni volta che un pacchetto appartenente al circuito deve essere trasmesso ad una
destinazione diversa
b) all'atto della apertura del circuito virtuale e ogni volta che questo deve essere
ricostituito per eventuali
errori
c) quando arriva il pacchetto di inizio file
d) non vengono mai applicati perche' il percorso e' determinato dal circuito stesso
Risposta: B
Appello 4 aprile 1997
Dare una sola risposta per ogni domanda. E' facoltativo inserire un BREVE commento per ciascun
quiz.
Il commento non altera il punteggio, ma puo' essere utile in sede di discussione orale (a volte
c'e' una
logica anche negli errori...).
1.1 Un sistema uniprogrammato pu essere concorrente?
A. no
B. si
C. si, solo se esiste un meccanismo di time-sharing
D. si, solo se esiste un meccanismo di swap dei processi
Risposta esatta: B
1.2 La gestione di operazioni di I/O su interruzione e' piu' efficiente di quella a controllo di
programma
A. vero, se per "efficienza" si intende la capacita' di utilizzare al meglio la CPU, e se la
frequenza di
trasferimento dati e' bassa rispetto alla frequenza di esecuzione delle istruzioni macchina
B. vero, se per "efficienza" si intende la capacita' di utilizzare al meglio la CPU, e se la
frequenza di
trasferimento dati e' vicina alla frequenza di esecuzione delle istruzioni macchina
C. vero, se per "efficienza" si intende la capacita' di trasferire dati alla massima velocita'
possibile
D. falso, tranne che nel caso di sistemi multiutente
Risposta esatta: A
1.3 Si consideri un sistema con 3 processi P0, P1 e P2 e 3 risorse non prelazionabili A, B e C.
All'istante
t l'allocazione delle risorse e' la seguente:
P0 possiede 1 risorsa di tipo A, 2 di tipo B e 2 di tipo C. Le richieste massime di P0 sono: 3
risorse di
tipo A, 4 di tipo B e 5 di tipo C.
P1 possiede 1 risorsa di tipo A e 2 di tipo C. Le richieste massime di P1 sono: 2 risorse di
tipo A, 2 di
tipo B e 3 di tipo C.
P2 possiede 1 risorsa di tipo A, 2 di tipo B e 1 di tipo C. Le richieste massime di P2 sono: 1
risorsa di
tipo A, 2 di tipo B e 1 di tipo C.
Il sistema dispone complessivamente di 3 risorse di tipo A,4 di tipo B e 5 di tipo C.
All'istante t il sistema e'

Pagina 16di 36

A. in uno stato non sicuro


B. in deadlock
C. in uno stato sicuro
D. in starvation
Risposta edeatta: C
1.4 Si consideri un file di tipo byte stream con allocazione fisica contigua. Il file ha una
dimensione di
10000 blocchi fisici di 512 byte. Quanti accessi a disco puo' richiedere una sequenza di due
comandi
"seek (1000)" e "read (x)", dove x e' di tipo char? Si supponga che si tratti delle prime
operazioni
eseguite dopo l'apertura del file.
A. 2
B. 1000
C. 1
D. 1001
Risposta esatta: C
1.5 Al verificarsi di una interruzione tutti i registri di CPU vengono salvati dall'hardware.
A. vero, per motivi di efficienza
B. vero, perche' tutti i registri di CPU devono venire salvati dall'hardware
C. falso, perche' vengono salvati dalla routine di risposta a interruzione
D. falso, perch necessario salvare hw solo alcuni registri
Risposta esatta: D
1.6 In un sistema a processi con scheduling FIFO e priorita' preemptive la transizione dallo
stato di
esecuzione ("running") a quello di pronto ("ready") si puo' verificare:
A. allo scadere del quanto di tempo
B. mai
C. quando occorre mandare in esecuzione un processo a priorita' piu' alta
D. quando il processo esegue una operazione sospensiva
Risposta esatta: C
1.7 La dimensione effettivamente usabile di una memoria virtuale a pagine e' limitata:
A. dal numero di bit dei registri di indirizzamento
B. dalla necessita' di evitare il thrashing
C. non esiste limitazione
D. dalle dimensioni della memoria di massa
Risposta esatta: B
1.8 Quale tra i seguenti algoritmi di scheduling e' piu' appropriato per la gestione di un
sistema
time-sharing?
A. SJF
B. Round Robin
C. FIFO con priorita'
D. FIFO
Risposta esatta: B
1.9 In un sistema che utilizza la tecnica del busy waiting per controllare il verificarsi di
eventi, in quali
delle seguenti condizioni e' garantito che i processi possono reagire al verificarsi di eventi
esterni
segnalati da interrupt?
A. se il sistema usa uno scheduler di tipo round robin
B. se il sistema usa uno scheduler di tipo FIFO
C. se vengono associate le priorita' agli interrupt
D. in ogni condizione purche' si operi ad interrupt abilitati
Risposta esatta: A
1.10 In quale caso la memoria e' vista, a livello di linguaggio macchina, come un insieme di
celle
identificate da un indirizzo costituito da una sola componente?
A. su un sistema segmentato
B. solo su un sistema senza memoria virtuale
C. su un sistema non segmentato con memoria virtuale a pagine
D. su qualunque sistema a memoria virtuale
Risposta esatta; C
Appello 16 aprile 1998

Pagina 17di 36

Dare una sola risposta per ogni domanda


1.1 Per "sistema multiprogrammato" si intende:
A) un sistema in cui piu' utenti lavorano in modo concorrente attraverso terminali
B) un sistema in cui, allo scadere di un quanto di tempo, il programma in esecuzione viene
scaricato su disco e ne
viene caricato un altro
C) un sistema in cui piu' programmi sono contemporaneamente residenti in memoria centrale
D) un sistema in cui viene usata una politica a quanti di tempo
risposta corretta: C
Commento: non e' detto che un sistema multiprogrammato sia multiutente, ne' che venga usata una
politica a quanti di tempo.
Il sistema della risposta B e' uniprogrammato.
1.2 Come viene fornita al File System l'informazione relativa a quale record deve
essere letto, quando si effettua una lettura su un file sequenziale?
A) non viene fornita, perche' il File System si basa sul concetto di posizione corrente
B) viene fornito il numero d'ordine del record
C) viene fornita una chiave di accesso
D) viene fornito il puntatore al blocco che contiene il record
risposta corretta: A
Commento: B e C sono le modalita' a accesso diretto e a chiave. D e' sicuramente errata perche'
i blocchi fisici non sono mai
visibili a livello applicativo.
1.3 Al verificarsi di una interruzione i contenuti del Program Counter e del registro
di stato (PSW) devono venire salvati dall'hardware.
A) vero, per motivi di efficienza
B) vero, perche' tutti i registri di CPU devono venire salvati dall'hardware, altrimenti si
perderebbero informazioni di
stato della CPU
C) vero, altrimenti si perderebbero informazioni di stato della CPU
D) falso, perche' vengono salvati dalla routine di risposta a interruzione
risposta corretta: C
Commento: A puo' essere vero, ma non implica che "devono" venire salvati dal'hardware. B e'
errato perche' gli altri registri
possono essere salvati software. D e' errato perche' una volta entrati nella routine di risposta
PC e PSW sono gia' stati
modificati.
1.4 In un sistema a processi la transizione dallo stato di pronto ("ready") a quello di attesa
("waiting") si verifica:
A) allo scadere del quanto di tempo
B) quando il processo lo richiede
C) al verificarsi di una interruzione che segnala il malfunzionamento della periferica a cui il
processo aveva inviato un
comando
D) mai
risposta corretta: D
Commento: un processo va in stato di attesa solo se e' in esecuzione e decide spontaneamente di
sospendersi
1.5 In un sistema multiprogrammato con politica round-robin il quanto di tempo e'
di 20 ms e il tempo di context switch e' di 1 ms. Esistono 5 processi utente. Un
processo utente emette un prompt, si sospende in attesa di un input e
immediatamente dopo emette un eco. Qual e' il massimo tempo di risposta
possibile per il processo, ritenendo trascurabile il tempo necessario per emettere
fisicamente l'eco?
A) 85 ms
B) 84 ms
C) 105 ms
D) 104 ms
risposta corretta: A
Commento: il quanto di tempo del processo P1 puo' scadere appena ha effettuato la lettura
dell'input e prima che emetta il
prompt. Il prompt verra' emesso non appena P1 ridiventa running. Nel caso pessimo, tutti gli
altri processi sono ready e

Pagina 18di 36

utilizzano l'intero quanto di tempo. Il ritardo e' quindi di 4 quanti di tempo + 5 commutazioni
di contesto.
1.6 In un sistema uniprogrammato un programma che non esegue operazioni di
ingresso/uscita viene eseguito in 10 secondi. In quanto tempo viene eseguito lo
stesso programma in un sistema con la stessa CPU, uniprogrammato e con con
memoria virtuale a pagine, se si verifica mediamente un page fault ogni 10.000
istruzioni macchina eseguite? (Si assuma un tempo di esecuzione della istruzione
macchina di un micro secondo e un tempo medio di accesso a disco di 10
millisecondi)
A) tra 20 e 30 secondi
B) tra 11 e 12 secondi
C) tra 80 e 120 secondi
D) non si puo' rispondere perche' il tempo perso per il caricamento e scaricamento delle pagine
dipende dall'algoritmo
di rimpiazzamento utilizzato
risposta corretta: A
Commento: 10.000 istruzioni vengono eseguite in 10 millisecondi. Quindi ogni 10 ms si perdono 10
o 20 ms per lo swap (20
se la pagina eliminata deve essere riscritta su disco).
1.7 Utilizzando un modello di comunicazione a livello rete di tipo Datagram
(connectionless), come viene identificato il destinatario di un pacchetto?
A) fornendo l'identificatore del circuito virtuale
B) fornendo l'identificatore del processo destinatario
C) fornendo il suo indirizzo di rete
D) viene identificato dai meccanismi di routing
risposta corretta: C
Commento: se il modello e' Datagram, il concetto di circuito virtuale non esiste. A livello
rete, il concetto di processo non e'
visibile. I meccanismi di routing hanno il compito di istradare un pacchetto, essendo noto
l'identificatore del destinatario.
1.8 Si consideri un sistema con 3 processi P0, P1 e P2 e 3 risorse non
prelazionabili A, B e C. All'istante t l'allocazione delle risorse e' la seguente:
P0 possiede 1 risorsa di tipo A, 2 di tipo B e 2 di tipo C. Le richieste massime
di P0 sono: 3 risorse di tipo A, 4 di tipo B e 5 di tipo C.
P1 possiede 1 risorsa di tipo A e 2 di tipo C. Le richieste massime di P1 sono:
2 risorse di tipo A, 2 di tipo B e 3 di tipo C.
P2 possiede 1 risorsa di tipo A, 2 di tipo B e 1 di tipo C. Le richieste massime
di P2 sono: 1 risorsa di tipo A, 2 di tipo B e 1 di tipo C.
Il sistema dispone complessivamente di 3 risorse di tipo A,4 di tipo B e 5 di tipo C.
All'istante t il sistema e'
A) in uno stato non sicuro
B) in deadlock
C) in starvation
D) in uno stato sicuro
risposta corretta: D
Commento: P2 puo' ovviamente essere completato erilascia le sue risorse. A questo punto sono
disponibili risorse sufficienti
a soddisfare le richieste massime di P1, che a sua volta puo' essere completato e rilascia
rsorse sufficienti a soddisfare le
richieste massime di P0.
Appello 14 giugno 1996
Dare una sola risposta per ogni domanda. E' facoltativo inserire un BREVE commento per ciascun
quiz.
Il commento non altera il punteggio, ma puo' essere utile in sede di discussione orale (a volte
c'e' una
logica anche negli errori...).
1.1 Per "sistema multiprogrammato" si intende:
A. un sistema in cui piu' programmi sono contemporaneamente residenti in memoria centrale
B. un sistema in cui piu' utenti lavorano in modo concorrente attraverso terminali
C. un sistema in cui, allo scadere di un quanto di tempo, il programma in esecuzione viene
scaricato su
disco e ne viene caricato un altro
D. un sistema in cui viene usata una politica a quanti di tempo

Pagina 19di 36

Risposta corretta: A
1.2 La gestione a lista dei blocchi fisici di un file e' vantaggiosa rispetto a quella contigua:
A. perche' minimizza il numero di accessi a disco
B. perche' consente di gestire efficacemente i file indexed
C. perche' consente di far crescere dinamicamente il file
D. non e' vantaggiosa per nessun motivo in quanto spreca spazio per i puntatori
Risposta corretta: C
1.3 Si consideri una routine di risposta a interruzione con la seguente struttura
"prologo"
move registro periferica to accumulatore1
memorizza accumulatore1 all'indirizzo assoluto ALFA
"epilogo"
Quali registri devono essere salvati dal "prologo", supponendo che la subroutine alfa utilizzi
accumulatore1 e accumulatore2?
A. accumulatore1, stack pointer
B. accumulatore1
C. accumulatore1, program counter, parola di stato
D. tutti i registri di CPU
Risposta corretta: B
1.4 La dimensione teorica di una memoria virtuale a pagine e' limitata:
A. dalla necessita' di evitare il thrashing
B. non esiste limitazione
C. dal numero di bit dei registri di indirizzamento
D. dalle dimensioni della memoria di massa
Risposta corretta: C
1.5 Si consideri un sistema con due processi A e B che utilizzano l'istruzione Test &Set per
proteggere
una regione critica RC. Ciascun processo effettua un loop di attesa attiva usando Test&Set per
verificare
se puo' accedere alla regione critica. Il processo A ha priorita' piu' alta rispetto a B. Lo
scheduler e' FIFO
con priorita' e prelazione della CPU. Quale fra le seguenti affermazioni e' vera?
A. il sistema puo' entrare in stallo; Test & Set non ammette priorita' diverse fra processi
B. RC e' regolarmente protetta solo se A e B usano la stessa CPU
C. il sistema puo' entrare in stallo; la soluzione e' utilizzare scheduler RR
D. RC e' regolarmente protetta
Risposta corretta: C
1.6 Su sistemi di piccole dimensioni l'interruzione di orologio e' generata usualmente a
intervalli
dell'ordine delle decine di millisecondi.
A. vero, perche' l'intervallo deve essere dello stesso ordine dei tempi di accesso a disco
B. falso, perche' l'intervallo deve essere dello stesso ordine di grandezza del tempo di
esecuzione di una
microistruzione macchina
C. vero, perche' una frequanza maggiore produrrebbe un eccessivo sovraccarico (overhead) di
gestione
D. falso, perche' l'interruzione di orologio produce effetti visibili all'utente (p. es. la
visualizzazione
dell'ora) e quindi non deve essere troppo frequente rispetto alle capacita' di percezione umane
Risposta esatta: C
1.7 Si consideri un sistema con tre processi P1, P2, P3 e una risorsa R di cui esistono 6
unita'. Le
richieste massime complessive dei processi sono rispettivamente 5, 3, 2. All'istante t la
situazione di
allocazione e' 2, 2, 1. Sia P1 che P2 chiedono una risorsa. Quale dele seguenti affermazioni e'
vera?
A. il sistema e' in uno stato non sicuro
B. il sistema e' in deadlock
C. e' indifferente soddisfare P1 o P2
D. solo P2 puo' essere soddisfatto in modo sicuro
Risposta esatta: D
1.8 In un monitor Java:
A. e' garantita la mutua esclusione sull'accesso alla classe
B. e' garantita la mutua esclusione sull'esecuzione di ciascun metodo synchronized

Pagina 20di 36

C. e' garantita la mutua esclusione sull'accesso a una istanza, indipendentemente da quale sia
il metodo
synchronized invocato
D. e' garantita la mutua esclusione sull'esecuzione di qualsiasi metodo
Risposta esatta: C
1.9 Se un processo effettua una operazione P su un semaforo associato a una periferica, chi
effettua la V
corrispondente?
A. la routine di risposta all'interrupt associato alla periferica
B. il controller della periferica
C. il prossimo processo che invia un comando alla periferica
D. il driver software della periferica solo se scatta un timeout
Risposta esatta: A
1.10 In un sistema con memoria virtuale a segmenti, la verifica della presenza in memoria del
segmento
referenziato e' effettuata:
A. da un modulo hardware/firmware
B. da un modulo software di sistema operativo
C. dal supporto a tempo di esecuzione del linguaggio
D. da una funzione di sistema invocata esplicitamente dal programma
Risposta esatta: A
Appello 13 giugno 1997
Dare una sola risposta per ogni domanda. E' facoltativo inserire un BREVE commento per ciascun
quiz. Il commento non
altera il punteggio, ma puo' essere utile in sede di discussione orale (a volte c'e' una logica
anche negli errori...).
1.1 In un sistema a processi con politica a priorita' preemptive la transizione dallo stato di
esecuzione ("running") a quello di
pronto ("ready") si puo' verificare:
A. allo scadere del quanto di tempo
B. allo scadere del quanto di tempo o quando viene risvegliato un processo a priorita' piu' alta
di quello in esecuzione
C. quando viene risvegliato un processo a priorita' piu' alta di quello in esecuzione
D. quando il processo in esecuzione esegue una operazione sospensiva
Risposta Esatta: C
1.2 Quale delle seguenti operazioni viene svolta con minor frequenza?
A. aggiornamento dei registri associativi che contengono parte della page table
B. aggiornamento del program counter
C. fetch di una istruzione
D. accesso alla page table
Risposta Esatta: A
1.3 Se in un programma Java viene eseguita una notify():
a) vengono risvegliati tutti i thread che hanno effettuato una wait() sul monitor
b) viene risvegliato il primo dei thread che hanno effettuato una wait() sul monitor
c) viene incrementato un contatore di eventi associato al monitor
d) viene risvegliato uno dei thread che hanno effettuato una wait() sul monitor
Risposta Esatta: D
1.4 Si consideri un sistema con due processi A e B che utilizzano l'istruzione Test&Set per
proteggere una regione critica
RC. Ciascun processo effettua un loop di attesa attiva usando Test&Set per verificare se puo'
accedere alla regione critica. Il
processo A ha priorita' piu' alta rispetto a B. Lo scheduler e' FIFO con priorita' e prelazione
della CPU. Quale fra le seguenti
affermazioni e' vera ?
A. il sistema puo' entrare in stallo; Test & Set non ammette priorita' diverse fra processi
B. RC e' regolarmente protetta solo se A e B usano la stessa CPU
C. il sistema puo' entrare in stallo; la soluzione e' utilizzare scheduler RR
D. RC e' regolarmente protetta
Risposta Esatta: C
1.5 Si consideri un sistema con tre processi P1, P2, P3 e una risorsa R di cui esistono 6
unita'. Le richieste massime
complessive dei processi sono rispettivamente 5, 3, 2. All'istante t la situazione di
allocazione e' 2, 2, 1. Sia P1 che P2

Pagina 21di 36

chiedono una risorsa. Quale dele seguenti affermazioni e' vera?


A. il sistema e' in uno stato non sicuro
B. il sistema e' in deadlock
C. e' indifferente soddisfare P1 o P2
D. solo P2 puo' essere soddisfatto in modo sicuro
Risposta Esatta: D
1.6 Al verificarsi di una interruzione, su una macchina con interruzioni a priorita', vengono
disabilitate:
a) le interruzioni con priorita' logicamente minore di quella che si e' verificata
b) tutte le interruzioni
c) tutte le interruzioni tranne quelle non mascherabili
d) le interruzioni con priorita' logicamente minore o uguale di quella che si e' verificata
Risposta Esatta: D
1.7 Cosa si intende per "codice autorilocante"?
A. codice in cui gli indirizzi degli operandi di una istruzione sono calcolati come spiazzamenti
rispetto all'indirizzo di base
del codice
B. codice in cui gli indirizzi degli operandi di una istruzione sono calcolati come spiazzamenti
rispetto all'indirizzo della
istruzione stessa
C. codice in cui gli indirizzi degli operandi di una istruzione sono calcolati come spiazzamenti
rispetto all'indirizzo di base
del codice o dell'area dati, secondo il tipo di istruzione
D. codice che modifica mediante opportune istruzioni gli indirizzi degli operandi al momento del
caricamento.
Risposta Esatta: B
1.8 Se un processo effettua una operazione P su un semaforo associato a una periferica, chi
effettua la V corrispondente?
A. la routine di risposta all'interrupt associato alla periferica
B. il controller della periferica
C. il prossimo processo che invia un comando alla periferica
D. il driver software della periferica solo se scatta un timeout
Risposta Esatta: A
Appello 11 giugno 1998
Dare una sola risposta per ogni domanda. E' facoltativo inserire un BREVE commento per ciascun
quiz. Il commento non
altera il punteggio, ma puo' essere utile in sede di discussione orale (a volte c'e' una logica
anche negli errori...).
Si consideri un sistema costituito da due processi P1, P2, e un semaforo generalizzato
S1inizializzato a
zero. I processi hanno la seguente struttura:
1.
P1: int I =0; repeat { I:=I+2; print (I); V(S1);} forever
P2: int J=1; repeat {P(S1); J:=J+2; print(J);} forever
Quale fra le seguenti sequenze NON pu essere stampata
2 3 4 5 6 7 8 ..... A.
2 4 6 8 10 12 14.... B.
2 4 3 5 7 6 8 .... C.
2 4 3 5 6 8 7 ... D.
Risposta esatta: C
In un sistema a pagine si consideri la seguente stringa di riferimento a memoria: 1 2 3 4 5 1 6
2 7 3 8 1 2 3.
Considerando 5 frame allocate per processo quanti page fault sono generati rispettivamente con
gli
algoritmi FIFO e LRU?
1.
11, 11 A.
10, 10 B.
10, 11 C.
9, 8 D.
Risposta esatta: A
In un sistema a pagine sono stati rilevati i seguenti parametri: utilizzo CPU 20%, utilizzo
Paging Disk 97%,

Pagina 22di 36

utilizzo altri dispositivi di I/O 5%. Volendo migliorare l'utilizzo della CPU quale dei seguenti
accorgimenti
adottereste?
1.
decrementare il grado di multiprogrammazione; A.
installare una CPU piu' veloce; B.
installare un Paging Disk di maggiori dimensioni; C.
incrementare il grado di multiprogrammazione; D.
Risposta esatta: A
Si consideri un File System con allocazione dei blocchi fisici organizzata a indice a piu'
livelli. Se N e' il
numero di puntatori a blocchi fisici contenuti in un nodo dell'albero di indici, come varia il
numero di livelli
dell'indice al variare della dimensione D del file?
1.
come il logaritmo di D in base 2 A.
come il logaritmo di N in base 2 B.
come il logaritmo di N in base D C.
come il logaritmo di D in base N D.
Risposta esatta D
Avrebbe senso realizzare una architettura a processi su un sistema sprovvisto di meccanismo di
interruzione?
1.
no, perche' l'interruzione e' essenziale per implementare i meccanismi del nucleo A.
si, perche' impedisce che un singolo programma monopolizzi la CPU B.
no, perche' non sarebbe possibile realizzare il time-sharing C.
si, nel caso in cui tutti i processi siano fortemente interattivi D.
Risposta esatta D
Quale fra le seguenti politiche di scheduling la pi adeguata per garantire un ragionevole
tempo di
risposta a tutti i processi, indipendentemente dalle loro caratteristiche?
1.
FIFO A.
Round Robin B.
a priorit preemptive C.
a priorit non preemptive D.
Risposta esatta B
Si consideri un sistema in cui due processi, P1 e P2, possono utilizzare entrambi le risorse R1
e R2 in modo 1.
esclusivo e senza possibilit di preemption. Al tempo T, P1 in stato ready ed ha assegnata la
risorsa R1;
P2 in esecuzione ed effettua una richiesta per la risorsa R2. Il sistema in uno stato:
non sicuro A.
di deadlock B.
sicuro C.
non possibile rispondere senza sapere se P1 e P2 hanno richiesto anche, rispettivamente, R2 e
R1 D.
Risposta esatta C
La gestione di operazioni di I/O su interruzione e' piu' efficiente di quella a controllo di
programma 1.
vero, se per "efficienza" si intende la capacita' di utilizzare al meglio la CPU, e se la
frequenza di trasferimento dati
e' bassa rispetto alla frequenza di esecuzione delle istruzioni macchina
A.
vero, se per "efficienza" si intende la capacita' di utilizzare al meglio la CPU, e se la
frequenza di trasferimento dati
e' vicina alla frequenza di esecuzione delle istruzioni macchina
B.
vero, se per "efficienza" si intende la capacita' di trasferire dati alla massima velocita'
possibile C.
falso, tranne che nel caso di sistemi multiutente D.
Risposta esatta A
Appello 10 giugno 1999

Pagina 23di 36

Dare una sola risposta per ogni domanda


1.1 La multiprogrammazione e' utile anche nei sistemi batch:
A) vero, perche' consente di sovrapporre attivita' di elaborazione e attivita' di I/O
B) vero, perche' migliora il tempo di risposta per programmi interattivi
C) falso, perche' nei sistemi batch si usa normalmente una politica FIFO
D) falso, perche' i sistemi batch sono intrinsecamente uniprogrammati
Risposta esatta: A
Commento: il tempo di Risposta non e' rilevante per sistemi non interattivi. Pero' la
sovrapposizione di elaborazione e
I/O, soprattutto su disco, consente di utilizzare meglio le risorse e quindi di migliorare il
throughput.
1.2 Si consideri un sistema con 3 processi P0, P1 e P2 e 3 risorse non
prelazionabili A, B e C. All'istante t l'allocazione delle risorse e' la seguente:
P0 possiede 2 risorse di tipo A, 2 di tipo B e 2 di tipo C. Le richieste massime di P0 sono: 3
risorse di tipo A, 4 di tipo
B e 4 di tipo C.
P1 possiede 1 risorsa di tipo A, 2 di tipo B e 2 di tipo C. Le richieste massime di P1 sono: 3
risorse di tipo A, 2 di tipo
B e 4 di tipo C.
P2 possiede 1 risorsa di tipo A e 1 di tipo C. Le richieste di P2 sono: 1 risorsa di tipo A, 1
di tipo B e 3 di tipo C.
Il sistema dispone complessivamente di 8 risorse di tipo A, 7 di tipo B e 6 di tipo C.
All'istante t il sistema e'
A) in uno stato sicuro
B) in deadlock
C) in uno stato non sicuro
D) in starvation
Risposta esatta: C
Commento: non esiste nessun processo le cui richieste massime possano essere soddisfatte dalle
risorse disponibili.
Tutti e tre i processi possono richiedere ancora 2 risorse di tipo C, di cui e' disponibile solo
una unita'.
1.3 Quanti accessi a disco puo' richiedere, in un sistema Unix, l'apertura del
file /AAA/BBB/CCC, nell'ipotesi che una directory occupi al piu' due blocchi
fisici e che inizialmente sia caricato in memoria solamente l'i-node della root?
A) 3
B) 6
C) 9
D) 10
Risposta esatta: C
Commento: la scansione della directory root puo' richiedere due accessi, seguiti dal caricamento
dell'i-node di AAA, e
cosi' via fino al caricamento dell'i-node di CCC.
1.4 Al verificarsi di una interruzione, su una macchina con interruzioni a
priorita', vengono disabilitate:
A) le interruzioni con priorita' logicamente minore o uguale di quella che si e' verificata
B) le interruzioni con priorita' minore di quella che si e' verificata
C) tutte le interruzioni
D) tutte le interruzioni tranne quelle non mascherabili
Risposta esatta: A
Commento: le interruzioni di priorita' minore vengono disabilitate, e quelle di priorita'
maggiore no, appunto per
gestirre il concetto di priorita'. L'interruzione che si e' verificata viene disabilitata
perche' occorre evitare che si
verifichi nuovamente mentre e' in esecuzione la routine di Risposta.
1.5 In un sistema paginato sono stati rilevati i seguenti parametri: utilizzo
CPU 20%, utilizzo Paging Disk 97%, utilizzo altri dispositivi di I/O 5%. Volendo
migliorare l'utilizzo della CPU quale dei seguenti accorgimenti adottereste?
A) installare una CPU piu' veloce
B) decrementare il grado di multiprogrammazione
C) installare un Paging Disk di maggiori dimensioni
D) incrementare il grado di multiprogrammazione
Risposta esatta: B

Pagina 24di 36

Commento: il collo di bottiglia e' evidentemente il Paging Disk. Non potendo utilizzare un
Paging Disk piu' veloce,
occorre ridurre il numero di page fault, e quindi aumentare il numero di frame assegnati a
ciascun processo attraverso
una diminuzione del grado di multiprogrammazione. L'utilizzo di una CPU piu' veloce non farebbe
che portare a una
ulteriore diminuzione dell'utilizzo di CPU.
1.6 In un sistema a processi la transizione dallo stato di esecuzione
("running") a quello di pronto ("ready") si puo' verificare:
A) solo allo scadere del quanto di tempo
B) solo quando si risveglia un processo a priorita' maggiore
C) allo scadere del quanto di tempo o quando si risveglia un processo a priorita' maggiore
D) allo scadere del quanto di tempo o quando il processo running lo richiede
Risposta esatta: C
Commento: puo' avvenire, in generale, nei casi di preemption. Non puo' mai avvenire su richiesta
del processo, per il
quale dal punto di vista programmativo lo stato ready non e' visibile.
1.7 Quale delle seguenti funzioni appartengono allo strato di trasporto di una
rete di comunicazione?
A) instradamento dei pacchetti in rete
B) comunicazione affidabile end to end indipendentemente dalla sottorete
C) comunicazione affidabile su un link punto punto
D) crittografia e conversioni di formato dell'informazione
Risposta esatta: B
Commento: A, C e D sono di competenza rispettivamente dei livelli network (3), data link (2) e
presentation (6).
1.8 Quale tra i seguenti algoritmi di scheduling e' piu' appropriato per la
gestione di un sistema real-time?
A) Shortest Job First
B) Round Robin
C) FIFO con priorita'
D) FIFO
Risposta esatta: C
Commento: SJF tende a minimizzare il tempo medio di Risposta, noti i burst di utilizzo della CPU
da parte dei
processi. RR ha lo stesso obiettivo, nel caso in cui i burst non siano noti. In un sistema RT
occorre garantire che le
attivita' critiche siano svolte al piu' presto. Quindi la politica migliore e' la FIFO con
priorita', possibilmente
preemptive.
Appello 12 luglio 1996
Dare una sola risposta per ogni domanda. E' facoltativo inserire un BREVE commento per ciascun
quiz. Il commento non
altera il punteggio, ma puo' essere utile in sede di discussione orale (a volte c'e' una logica
anche negli errori...).
3.1 In un sistema Unix, e' possibile far comunicare due processi attraverso un meccanismo tipo
monitor?
A. Si, se i due processi condividono un'area dati
B. Si, se i due processi sono figli dello stesso padre
C. No, perche' in Unix i processi non condividono memoria
D. No, perche' Unix non supporta operazioni tipo wait()
Risposta Esatta: C
3.2 Quale fra le seguenti politiche di scheduling: non e' "safe", cioe' non garantisce
l'esecuzione di ciascun processo entro un
tempo finito? 1) FIFO, 2) Round Robin, 3) a priorita' "preemptive"
A. FIFO
B. Round Robin
C. a priorita' preemptive
D. nessuna, sono tutte politiche "safe"
Risposta Esatta: C
3.3 Si consideri un sistema con memoria virtuale a pagine. Quando vengono resettati
rispettivamente i bit di uso e di modifica
delle pagine presenti in memoria centrale?

Pagina 25di 36

A. entrambi dopo un certo tempo da quando sono stati settati; quando precisamente cio' avviene
dipende dall'algoritmo di
paging utilizzato
B. il bit di modifica mai, il bit di uso dopo un certo tempo da quando e' stato settato; quando
precisamente cio' avviene dipende
dall'algoritmo di paging utilizzato
C. il bit di uso mai, il bit di modifica dopo un certo tempo da quando e' stato settato; quando
precisamente cio' avviene dipende
dall'algoritmo di paging utilizzato
D. non vengono mai resettati fino a che la pagina non viene scaricata su disco
Risposta Esatta: B
3.4 Si consideri un sistema a processi (o a thread, in questo contesto le due cose sono
equivalenti). Il processo in esecuzione
esegue una readln(my_buffer), con cui richiede di leggere una linea di caratteri da tastiera;
my_buffer e' una variabile locale al
processo dove dovranno essere accumulati i caratteri. La tastiera e' connessa attraverso una
interfaccia seriale che genera un
interrupt per ogni carattere letto. Dopo aver emesso il comando il processo passa in stato di
attesa (wait). Quando passera' in
stato di pronto (ready)?
A. quando il driver riconosce che e' stata completato l'input di una linea
B. quando il controller riconosce che e' stata completato l'input di una linea
C. ogni volta che viene ricevuto un interrupt da tastiera
D. quando lo scheduler, in funzione delle sue politiche, decide di mandare in esecuzione il
processo
Risposta Esatta: A
3.5 Si consideri un sistema in cui due processi, P1 e P2, possono utilizzare entrambi le risorse
R1 e R2 in modo esclusivo e
senza possibiloita' di preemption. Al tempo T, P1 ha assegnata la risorsa R1 e P2 ha assegnata
la risorsa R2, ed entrambi i
processi sono in stato ready. Il sistema e' in uno stato:
A. non sicuro
B. di deadlock
C. sicuro
D. non e' possibile rispondere senza sapere se P1 e P2 hanno richiestoanche, rispettivamente, R2
e R1 (in questo caso
sarebbero in deadlock, altrimenti no)
Risposta Esatta: A
3.6 In quale caso la gestione a memoria virtuale (con swap di pagine) e' inutile o, al limite,
pericolosa?
A. in un sistema uniprogrammato
B. in un sistema real-time per controllo di processo
C. in un sistema che svolge attivita' di calcolo scientifico
D. e' sempre utile
Risposta Esatta: B
3.7 Qual e' la differenza, in un sistema tipo Unix, fra una operazione move e una operazione
copy su un file?
A. move attribuisce un nuovo path name al file, copy crea una copia fisica. Dopo l'esecuzione
dell'operazione, in entrambi i
casi il file e' visibile sia con il path name vecchio, sia con il path name nuovo
B. move attribuisce un nuovo path name al file, copy crea una copia fisica. Dopo l'esecuzione
della move, il file e' visibile
soloo con il path name nuovo. Dopo l'esecuzione della copy, il file e' visibilew sia con il path
name vecchio, sia con il path
name nuovo
C. move attribuisce un nuovo path name al file, copy crea una copia fisica. Dopo l'esecuzione
dell'operazione, in entrambi i
casi il file e' visibile solo con il path name nuovo
D. move sposta il file nell'ambito del disco fisso, copy ne crea una copia su unita' rimovibile
Risposta Esatta: B
3.8 Si consideri un programma eseguito in ambiente Unix, con il seguente schema:
integer i = 0;
...
if (fork()>0) then

Pagina 26di 36

begin sleep (10000), i:=i+1; print(i) end else


begin i:=i-1; print (i) end
....
Quale sequenza di valori viene stampata?
A. -1, 0
B. -1, 1
C. 1,-1
D. 1,0
Risposta Esatta: B
Appello 8 luglio 1998
Dare una sola risposta per ogni domanda
1.1 Cosa significa parlare di clock a 50 MHz?
A) ce viene eseguita una microistruzione ogni 20 ns
B) ce viene eseguita una istruzione ogni 20 ns
C) ce viene generato un interrupt di clock ogni 20 ns
D) ce viene eseguito un accesso a memoria ogni 20 ns
Risposta esatta: A
1.2 Quali sono i parametri tipici di una operazione di lettura su un file sequenziale?
A) identificatore del file, buffer in memoria centrale e numero d'ordine del record
B) identificatore del file, buffer in memoria centrale e ciave di accesso
C) identificatore del file, buffer in memoria centrale
D) identificatore del file, buffer in memoria centrale e posizione corrente
Risposta esatta: C
1.3 In quale caso la gestione di I/O su interruzione non e' vantaggiosa rispetto a quella a
controllo da programma ("idle loop"),
supponendo ce l'esecuzione di una istruzione maccina impieghi mediamente 1 microsecondo?
A) quando i dati sono trasferiti con una frequenza di un dato ogni 5 millisecondi
B) quando esistono diverse periferice con diverse priorita'
C) quando i programmi utente sono fortemente interattivi
D) quando i dati sono trasferiti con una frequenza di un dato ogni 5 microsecondi
Risposta esatta: D
1.4 La dimensione teorica di una memoria virtuale a pagine e' limitata:
A) dalla necessita' di evitare il trashing
B) non esiste limitazione
C) dal numero di bit dei registri di indirizzamento
D) dalle dimensioni della memoria di massa
Risposta esatta: C
1.5 In un sistema con politica round-robin, la riduzione della durata del quanto di tempo
migliora i tempi medi di risposta
A) vero, sempre
B) vero, se il quanto di tempo non diventa minore del tempo di utilizzo di CPU dei lavori piu'
interattivi, e se non diventa cosi'
piccolo da rendere eccessiva la percentuale di tempo di CPU consumata per le commutazioni di
contesto
C) vero, se il quanto di tempo non diventa minore del tempo di utilizzo di CPU dei lavori piu'
interattivi
D) vero, se non diventa cosi' piccolo da rendere eccessiva la percentuale di tempo di CPU
consumata per le commutazioni di
contesto
Risposta esatta: B
1.6 In un sistema ce utilizza la tecnica del busy waiting per controllare il verificarsi di
eventi, in quali delle seguenti condizioni e'
garantito ce i processi possono reagire al verificarsi di eventi esterni segnalati da interrupt?
A) se il sistema usa uno sceduler di tipo FIFO
B) se il sistema usa uno sceduler di tipo round robin
C) se vengono associate le priorita' agli interrupt
D) in ogni condizione purce' si operi ad interrupt abilitati
Risposta esatta: B
1.7 Con riferimento al modello ISO OSI, a quale livello si colloca il servizio di File Transfer?
A) applicazione
B) trasporto
C) sessione
D) presentazione

Pagina 27di 36

Risposta esatta: A
1.8 Si consideri un sistema con h2> processi P0 e P1 e 3 risorse A,B e C. All'istante t la
situazione di allocazione risorse e' la
seguente:
P0 possiede 1 risorsa di tipo A, h2> di tipo B e 2 di tipo C. Le ricieste di P0 sono di h2>
risorse di tipo A, 3 di tipo B e 4 di tipo C.
P1 possiede 1 risorsa di tipo A, 1 di tipo B e h2> di tipo C. Le ricieste di P1 sono di h2>
risorse di tipo A, 3 di tipo B e 3 di tipo C.
Il sistema dispone di 3 risorse di tipo A, 4 di tipo B e 5 di tipo C. All'istante t il sistema
e' in uno stato sicuro?
A) si
B) si, con la sequenza P0, P1
C) no
D) si, con la sequenza P1, P0
Risposta esatta: C
Appello 10 settembre 1996
Dare una sola risposta per ogni domanda. E' facoltativo inserire un BREVE commento per ciascun
quiz. Il commento non
altera il punteggio, ma puo' essere utile in sede di discussione orale (a volte c'e' una logica
anche negli errori...).
1.1 Si consideri un sistema Unix in cui il processo A e il processo B attendono ciascuno un
input. Dopo aver ricevuto l'input,
entrambi i processi svolgono attivita' di calcolo della durata di circa un secondo ed effettuano
una operazione di output. Se gli
input per A e per B arrivano quasi contemporaneamente (cioe' a una distanza di non piu' di un
millisecondo), e' possibile
garantire che l'output di A avvenga prima dell'output di B?
A. Si, se la priorita' di A e' maggiore della priorita' di B
B. Si, se l'input per A precede l'input per B
C. No, se non si conosce esattamente la durata delle elaborazioni di A e di B
D. No, perche' l'algoritmo di scheduling di Unix e', dal punto di vista applicativo, non
deterministico
Risposta Esatta: D
1.2 Quale fra le seguenti politiche di scheduling e' la piu' adeguata per garantire un
ragionevole tempo di risposta a tutti i
processi, indipendentemente dalle loro caratteristiche?
A. FIFO
B. Round Robin
C. a priorita' preemptive
D. a priorita' non preemptive
Risposta Esatta: B
1.3 Si consideri un sistema con memoria virtuale a segmenti paginati. Se, in un indirizzo, S e'
il numero di bit che indica il
numero di segmento, P e' il numero di bit che indica il numero di pagina, R il numero di bit che
indica l'indirizzo relativo
all'interno della pagina, quale fra le seguenti affermazioni e' vera?
A. la dimensione della memoria fisica del sistema e' 2**(S+P+R)
B. la dimensione complessiva della memoria virtuale del sistema e' 2**(S+P+R)
C. la dimensione della memoria virtuale per ciascun processo e' 2**(S+P+R)
D. deve essere S>P
Risposta Esatta: C
1.4 Si consideri un sistema a processi (o a thread, in questo contesto le due cose sono
equivalenti). Il processo in esecuzione
esegue una read(my_buffer), con cui richiede di leggere un carattere da tastiera; my_buffer e'
una variabile locale al processo
dove dovranno essere memorizzati i caratteri letti. La tastiera e' connessa attraverso una
interfaccia seriale che genera un
interrupt per ogni carattere letto. Dopo aver emesso il comando il processo passa in stato di
attesa (wait). Quando passera' in
stato di pronto (ready)?
A. quando il driver riconosce che e' stata completato l'input di una linea
B. quando il controller riconosce che e' stata completato l'input di una linea
C. ogni volta che viene ricevuto un interrupt da tastiera

Pagina 28di 36

D. quando lo scheduler, in funzione delle sue politiche, decide di mandare in esecuzione il


processo
Risposta Esatta: C
1.5 Si consideri un sistema in cui due processi, P1 e P2, possono utilizzare entrambi le risorse
R1 e R2 in modo esclusivo e
senza possibilita' di preemption. Al tempo T, P1 e' in stato ready ed ha assegnata la risorsa
R1; P2 e' in esecuzione ed effettua
una richiesta per la risorsa R2. Il sistema e' in uno stato:
A. non sicuro
B. di deadlock
C. sicuro
D. non e' possibile rispondere senza sapere se P1 e P2 hanno richiesto anche, rispettivamente,
R2 e R1
Risposta Esatta: C
1.6 La memoria virtuale a pagine (con swap di pagine) e' utile anche in un sistema monoutente?
A. in generale si
B. si, solo se il sistema e' multiprogrammato
C. in generale no
D. si, solo se si tratta di un sistema di automazione di processo
Risposta Esatta: A
1.7 La macchina virtuale emulata da un nucleo che supporta un sistema a processi e un meccanismo
di fork di tipo Unix e'
logicamente assimilabile a:
A. un sistema con piu' processori e una memoria condivisa
B. un sistema con un unico processore e uno spazio di memoria privata per ciascun processo
C. un sistema con piu' processori, una memoria privata per ciascun processore, e uno spazio di
memoria condivisa utilizzato
per la comunicazione tra processi
D. un sistema con piu' processori e una memoria privata per ciascun processore
Risposta Esatta: D
1.8 Si consideri un sistema con 5 processi P0, P1, P2, P3 e P4 e 4 risorse A, B, C, e D.
All'istante t la situazione di allocazione
risorse e' la seguente:
P0 possiede 6 risorse di tipo B, 3 di tipo C e 2 di tipo D. Le richieste massime di P0 sono: 6
risorse di tipo B, 5 di tipo C e 2 di
tipo D.
P1 possiede 1 risorsa di tipo A. Le richieste massime di P1 sono: di 1 risorsa di tipo A, 7 di
tipo C e 5 di tipo D.
P2 possiede 1 risorsa di tipo A, 3 di tipo B, 5 di tipo C e 4 di tipo D. Le richieste massime di
P2 sono: 2 risorse di tipo A, 3 di
tipo B, 5 di tipo C e 6 di tipo D.
P3 possiede 1 risorsa di tipo C. Le richieste massime di P3 sono: di 6 risorse di tipo B, 7
risorse di tipo C e 6 di tipo D.
P4 possiede 1 risorsa di tipo C e 4 di tipo D. Le richieste massime di P4 sono: 6 risorse di
tipo B, 5 di tipo C e 6 di tipo D.
Nel sistema sono disponibili ancora due risorse di tipo C. All'istante t il sistema e' in uno
stato:
A. non sicuro
B. di deadlock;
C. sicuro, con piu' sequenze
D. sicuro con una sola sequenza possibile
Risposta Esatta: D
Appello 16 settembre 1998
Dare una sola risposta per ogni domanda. E' facoltativo inserire un BREVE commento per ciascun
quiz. Il commento non
altera il punteggio, ma puo' essere utile in sede di discussione orale (a volte c'e' una logica
anche negli errori...).
Si consideri un sistema costituito da due processi P1 e P2, e due semafori binari S
inizializzati a verde. I due
processi hanno la seguente struttura:
1.
P1: repeat {P(S1); print("A"); V(S2)} forever
P2: repeat {P(S2); print("B"); V(S1; V(S2)} forever

Pagina 29di 36

Quale fra le seguenti sequenze NON pu sicuramente essere stampata


ABABABAB.. A.
BABABABA. B.
BBBBBBBBB. C.
AAAAAAAA D.
Risposta esatta: D
In un sistema Unix, possibile far comunicare due processi attraverso variabili condivise
usando un
meccanismo tipo monitor?
1.
Si, se i due processi condividono unarea dati A.
Si, se i due processi sono figli dello stesso padre B.
No, perch in Unix i processi non condividono memoria C.
No, perch Unix non supporta operazioni tipo wait() D.
Risposta esatta: C
Si consideri un file di tipo byte stream con allocazione fisica a lista. Il file ha una
dimensione di 10000
blocchi fisici di 512 byte. Il file gi aperto. Lesecuzione di una sequenza di due comandi
"seek (1000)" e
"read (x)" (dove x e' di tipo char) pu richiedere N accessi a disco. Qual il valore minimo
possibile di N?
1.
0 A.
1 B.
2 C.
3 D.
Risposta esatta: A
Un sistema uniprogrammato pu essere concorrente? 1.
no A.
si B.
si, solo se esiste un meccanismo di time-sharing C.
si, solo se esiste un meccanismo di swap dei processi D.
Risposta esatta: B
Si consideri un sistema con 3 processi P0, P1 e P2 e 3 risorse non prelazionabili A, B e C.
All'istante t
l'allocazione delle risorse e' la seguente:
1.
P0 possiede 1 risorsa di tipo A, 2 di tipo B e 2 di tipo C. Le richieste massime di P0 sono: 3
risorse di tipo A, 4 di tipo B e
5 di tipo C.
P1 possiede 1 risorsa di tipo A e 2 di tipo C. Le richieste massime di P1 sono: 2 risorse di
tipo A, 2 di tipo B e 3 di tipo C.
P2 possiede 1 risorsa di tipo A, 2 di tipo B e 1 di tipo C. Le richieste massime di P2 sono: 1
risorsa di tipo A, 2 di tipo B e
1 di tipo C.
Il sistema dispone complessivamente di 3 risorse di tipo A,4 di tipo B e 5 di tipo C.
All'istante t il sistema e'
in uno stato non sicuro A.
in deadlock B.
in uno stato sicuro C.
in starvation D.
Risposta esatta: C
Si consideri un sistema con memoria virtuale a pagine. Quando vengono resettati rispettivamente
i bit di
uso e di modifica delle pagine presenti in memoria centrale?
1.
entrambi dopo un certo tempo da quando sono stati settati; quando precisamente ci avviene
dipende
dallalgoritmo di paging utilizzato
A.
il bit di modifica mai, il bit di uso dopo un certo tempo da quando stato settato; quando
precisamente ci avviene
dipende dallalgoritmo di paging utilizzato
B.

Pagina 30di 36

il bit di uso mai, il bit di modifica dopo un certo tempo da quando stato settato; quando
precisamente ci avviene
dipende dallalgoritmo di paging utilizzato
C.
non vengono mai resettati fino a che la pagina non viene scaricata su disco D.
Risposta esatta: B
In un sistema con politica round-robin, la riduzione della durata del quanto di tempo migliora i
tempi medi
di risposta
1.
vero, sempre A.
vero, se il quanto di tempo non diventa minore del tempo di utilizzo di CPU fra due operazioni
di I/O per i lavori
piu' interattivi
B.
vero, se il quanto di tempo non diventa minore del tempo di utilizzo di CPU fra due operazioni
di I/O per i lavori
piu' interattivi, e se non diventa cosi' piccolo da rendere eccessiva la percentuale di tempo di
CPU consumata per le
commutazioni di contesto
C.
vero, se non diventa cosi' piccolo da rendere eccessiva la percentuale di tempo di CPU consumata
per le
commutazioni di contesto
D.
Risposta esatta: C
Qual la differenza, in un sistema tipo Unix, fra una operazione move e una operazione copy su
un file? 1.
move attribuisce un nuovo path name al file, copy crea una copia fisica. Dopo lesecuzione
delloperazione, in
entrambi i casi il file visibile sia con il path name vecchio, sia con il path name nuovo
A.
move attribuisce un nuovo path name al file, copy crea una copia fisica. Dopo lesecuzione della
move, il file B.
visibile solo con il path name nuovo. Dopo lesecuzione della copy, il file visibilew sia con
il path name vecchio,
sia con il path name nuovo
move attribuisce un nuovo path name al file, copy crea una copia fisica. Dopo lesecuzione
delloperazione, in
entrambi i casi il file visibile solo con il path name nuovo
C.
move sposta il file nellambito del disco fisso, copy ne crea una copia su unit rimovibile D.
Risposta esatta: B
Appello 22 settembre 1999
Dare una sola risposta per ogni domanda
1.1 Si consideri un programma che viene eseguito su un processore dedicato e che esegue una
sequenza di operazoni di input a
controllo da programma. Il tempo medio di esecuzione di una istruzione macchina e' di 200
nanosecondi. La massima velocita' di
trasferimento dei dati che si puo' ottenere:
A) e' dell'ordine di un dato ogni 200 nanosecondi
B) dipende dal tempo perso dalla routine di risposta a interruzione per salvare e ripristinare
il contesto
C) e' dell'ordine di un dato ogni 1 microsecondo
D) e' di un dato per ogni ciclo di accesso alla memoria
Risposta esatta: C
1.2 In un sistema con memoria virtuale a segmenti, la verifica della presenza in memoria del
segmento referenziato e' effettuata:
A) da un modulo hardware/firmware
B) da un modulo software di sistema operativo
C) dal supporto a tempo di esecuzione del linguaggio
D) da una funzione di sistema invocata esplicitamente dal programma
Risposta esatta: A

Pagina 31di 36

1.3 Qual e' l'insieme di tutte le transizioni di stato dei processi che si possono verificare
come conseguenza di una interruzione
asincrona?
A) esecuzione/pronto, attesa/pronto, pronto/esecuzione
B) esecuzione/pronto, attesa/pronto
C) esecuzione/attesa, attesa/pronto, pronto/esecuzione
D) attesa/pronto, pronto/esecuzione
Risposta esatta: A
1.4 Per risolvere il problema produttore-consumatore in cui esiste un unico produttore che ha a
disposizione un buffer infinito ed un
unico consumatore che preleva dati da questo buffer, sono necessari e sufficienti
A) un solo semaforo binario
B) quattro semafori binari
C) 1 semaforo binario e 1 generalizzato
D) un solo semaforo generalizzato
Risposta esatta: D
1.5 Si consideri un messaggio di lunghezza M bit trasmesso in un sistema distribuito a livello
trasporto (transport). A livello rete
(network) il messaggio viene scomposto in pacchetti di lunghezza P bit, con P<M. Qual e' la
relazione fra M e T, dove T e' il numero
totale di bit che e' necessario trasmettere a livello rete per realizzare l'invio del messaggio
a livello trasporto?
A) T=M
B) T>M
C) T<M
D) dipende dalla implementazione del servizio di trasporto
Risposta esatta: B
1.6 Si consideri un sistema caratterizzato dai seguenti processi con i seguenti tempi di arrivo:
processo P1 con tempo di esecuzione 5
e tempo di arrivo 0, processo P2 con tempo di esecuzione 4 e tempo di arrivo 0.8, processo P3
con tempo di esecuzione 3 e tempo di
arrivo 1.2, processo P4 con tempo di esecuzione 3 e tempo di arrivo 2. I processi non eseguono
operazioni sospensive.
Qual e' il tempo medio di turnaround (turnaround = tempo di completamento) dei suddetti processi
quando vengono gestiti da un
algoritmo di scheduling SJF preemptive (tempo di context switch = 0)?
A) 8.5
B) 4.55
C) 8.3
D) nessuna delle altre risposte e' corretta
Risposta esatta: C
1.7 Si considerino due file A e B di 20 blocchi fisici ciascuno. In A i blocchi sono allocati
contiguamente, per B invece e' stato
seguito uno schema di allocazione linkata. Supponendo che i file siano gia' stati aperti e che
nel caso di allocazione contigua i blocchi
liberi siano in coda a quelli occupati, qual e' il numero di accessi fisici a disco necessario
per inserire un blocco fisico nella posizione
11 del file? (Si supponga che ogni accesso a disco trasferisca un unico blocco fisico, e che nel
caso B si conosca inizialmente solo
l'indirizzo del primo blocco del file)
A) A = (41), B = (2)
B) A = (1) , B = (12)
C) A = (21) , B = (12)
D) nessuna delle altre risposte e' corretta
Risposta esatta: C
1.8 Si consideri un sistema con 4 processi P0, P1, P2 e P3 e 3 risorse non prelazionabili A, B e
C. All'istante t l'allocazione delle
risorse e' la seguente:
P0 possiede 1 risorsa di tipo A, 2 di tipo B e 2 di tipo C. Le richieste massime totali di P0
sono: 3 risorse di tipo A, 4 di tipo B e 4 di
tipo C.
P1 possiede 1 risorsa di tipo A, 2 di tipo B e 2 di tipo C. Le richieste massime totali di P1
sono: 3 risorse di tipo A, 2 di tipo B e 3 di
tipo C.

Pagina 32di 36

P2 possiede 1 risorsa di tipo A e 1 di tipo C. Le richieste massime di P2 totali sono: 1 risorsa


di tipo A, 1 di tipo B e 1 di tipo C.
P3 possiede 1 risorsa di tipo A. Le richieste massime totali di P3 sono: 2 risorse di tipo A e 1
di tipo C.
Il sistema dispone complessivamente di 5 risorse di tipo A, 4 di tipo B e 5 di tipo C.
All'istante t il processo P1 effettua una richiesta al sistema per 1 risorsa di tipo A. Se il
sistema soddisfa questa richiesta entrera':
A) in uno stato non sicuro
B) in uno stato sicuro
C) in deadlock
D) in starvation
Risposta esatta: A
Appello 2 ottobre 1996
Dare una sola risposta per ogni domanda. E' facoltativo inserire un BREVE commento per ciascun
quiz.
Il commento non altera il punteggio, ma puo' essere utile in sede di discussione orale (a volte
c'e' una
logica anche negli errori...).
1.1 Il test sulla presenza di una interruzione viene effettuato
A. dalla unita' centrale in corrispondenza di ogni ciclo di clock
B. al momento della abilitazione delle interruzioni
C. dalla unita' centrale immediatamente prima della fase di fetch
D. non viene effettuato nessun test, perche' le interruzioni sono gestite in modo asincrono
Risposta esatta: c
1.2 Si considerino due file A e B di 20 blocchi fisici ciascuno. In A i blocchi sono allocati
contiguamente, per B invece e' stato seguito uno schema di allocazione linkata. Supponendo che i
file
siano gia' stati aperti e che nel caso di allocazione contigua i blocchi liberi siano in coda a
quelli occupati,
qual e' il numero di accessi fisici a disco necessario per inserire un blocco fisico nella
posizione 11 del
file?. (Si supponga che ogni accesso a disco trasferisca un unico blocco fisico, e che nel caso
B si
conosca inizialmente solo l'indirizzo del primo blocco dati)
A. A = (41), B = (2)
B. A = (1) , B = (12)
C. A = (21) , B = (12)
D. nessuna delle altre risposte e' corretta
Risposta esatta: c
1.3 Al verificarsi di una interruzione, su una macchina con interruzioni a priorita', vengono
disabilitate:
A. le interruzioni con priorita' logicamente minore di quella che si e' verificata
B. tutte le interruzioni
C. tutte le interruzioni tranne quelle non mascherabili
D. le interruzioni con priorita' logicamente minore o uguale di quella che si e' verificata
Risposta esatta: d
1.4 In un sistema con memoria virtuale a segmenti, la verifica della presenza in memoria del
segmento
referenziato e' effettuata:
A. da un modulo software di sistema operativo
B. dal supporto a tempo di esecuzione del linguaggio
C. da un modulo hardware/firmware
D. da una funzione di sistema invocata esplicitamente dal programma
Risposta esatta: c
1.5 In un sistema multiprocessore strettamente connesso (con memoria condivisa), e' sufficiente
il
meccanismo di disabilitazione delle interruzioni per realizzare l'indivisibilita' delle
operazioni P e V?
A. no, perch la disabilitazione delle interruzioni garantisce l'indivisibilit solo nel caso di
concorrenza
simulata
B. si, perch impedisce che un altro processo diventi running mentre in corso l'esecuzione di
una P o di

Pagina 33di 36

una V
C. si, purche' ogni processore sia in grado di disabilitare anche le interruzioni degli altri
processori
D. si, perche' le P e le V su ciascun semaforo sono utilizzate per sincronizzare processi che
vengono
eseguiti sullo stesso processore
Risposta esatta: a
1.6 In un sistema multiprogrammato con politica round-robin il quanto di tempo e' di 20 ms e il
tempo di
context switch e' di 1 ms. Esistono 5 processi utente. Un processo utente emette un prompt, si
sospende
in attesa di un input e immediatamente dopo emette un eco. Qual e' il massimo tempo di risposta
possibile per il processo, ritenendo trascurabile il tempo necessario per emettere fisicamente
l'eco?
A. 84 ms
B. 105 ms
C. 104 ms
D. 85 ms
Risposta esatta: d
1.7 Si consideri un sistema con 2 processi P0 e P1 e 3 risorse A,B e C. All'istante t la
situazione di
allocazione risorse e' la seguente:
P0 possiede 1 risorsa di tipo A, 2 di tipo B e 2 di tipo C. Le richieste di P0 sono di 2 risorse
di tipo A, 3
di tipo B e 4 di tipo C.
P1 possiede 1 risorsa di tipo A, 1 di tipo B e 2 di tipo C. Le richieste di P1 sono di 2 risorse
di tipo A, 3
di tipo B e 3 di tipo C.
Il sistema dispone di 3 risorse di tipo A, 4 di tipo B e 5 di tipo C. All'istante t il sistema
e' in uno stato
sicuro?
A. no
B. si
C. si, con la sequenza P0, P 1
D. si, con la sequenza P1, P0
Risposta esatta: a
1.8 L'uso della system call fork() consente, in ambiente Unix, la realizzazione di un albero di
processi.
Quale delle seguenti strutture e' possibile realizzare usando la system call load-and-exec di
MS-DOS?
A. albero binario
B. albero
C. stack
D. coda
Risposta esatta: c
1.9 Cosa si intende per "codice autorilocante"?
A. codice in cui gli indirizzi degli operandi di una istruzione sono calcolati come spiazzamenti
rispetto
all'indirizzo di base del codice
B. codice in cui gli indirizzi degli operandi di una istruzione sono calcolati come spiazzamenti
rispetto
all'indirizzo della istruzione stessa
C. codice in cui gli indirizzi degli operandi di una istruzione sono calcolati come spiazzamenti
rispetto
all'indirizzo di base del codice o dell'area dati, secondo il tipo di istruzione
D. codice che modifica mediante opportune istruzioni gli indirizzi degli operandi al momento del
caricamento.
Risposta esatta: b
1.10 Si consideri un processo che esegue una operazione DELAY(T), con cui notifica al sistema
che
vuole attendere che trascorra il tempo T. Allo scadere del tempo T, quale transizione di stato
effettua il
processo?
A. da attesa a esecuzione

Pagina 34di 36

B. da esecuzione a attesa
C. da attesa a pronto
D. da esecuzione a pronto
Risposta esatta: c
Appello 8 ottobre 1997
1.1 Si consideri un sistema costituito da due processi P1 e P2, e un semaforo generalizzato S
inizializzato a zero. I due processi hanno la seguente struttura:
P1: repeat {print(A); V(S)} forever
P2: repeat {P(S); print(B)} forever
Quale fra le seguenti sequenze NON pu sicuramente essere stampata
A. ABABABAB..
B. AAABBABBBA.
C. AAABBAABBBA.
D. AABBAABBAA
Risposta esatta: B
1.2 In un sistema Unix, possibile far comunicare due processi attraverso variabili condivise
usando un meccanismo tipo monitor?
A. Si, se i due processi condividono unarea dati
B. Si, se i due processi sono figli dello stesso padre
C. No, perch in Unix i processi non condividono memoria
D. No, perch Unix non supporta operazioni tipo wait()
Risposta esatta: C
1.3 Si consideri un file di tipo byte stream con allocazione fisica a lista. Il file ha una
dimensione di 10000 blocchi fisici di 512 byte. Il file gi aperto. Lesecuzione di una
sequenza di due comandi "seek (1000)" e "read (x)" (dove x e' di tipo char) pu richiedere N
accessi a disco. Quale tra le seguenti risposte sicuramente sbagliata?
A. 0
B. 1
C. 2
D. 3
Risposta esatta: D
1.4 In un sistema a processi con scheduling a priorita' preemptive la transizione di un
processo dallo stato di esecuzione ("running") a quello di pronto ("ready") si puo' verificare:
A. allo scadere del quanto di tempo
B. mai
C. quando occorre mandare in esecuzione un processo a priorita' piu' alta
D. quando il processo esegue una operazione sospensiva
Risposta esatta: C
1.5 Si consideri un programma che viene eseguito su un processore dedicato e che esegue una
sequenza di operazoni di input a controllo da programma. Il tempo medio di esecuzione di una
istruzione macchina e' di 200 nanosecondi. La massima velocita' di trasferimento dei dati che
si puo' ottenere:
A. e' dell'ordine di un dato ogni 1 microsecondo
B. e' dell'ordine di un dato ogni 200 nanosecondi
C. dipende dal tempo perso dalla routine di risposta a interruzione per salvare e ripristinare
il contesto
D. e' di un dato per ogni ciclo di accesso alla memoria
Risposta esatta: A
1.6 In quale caso la memoria e' vista, a livello di linguaggio macchina, come un insieme di
celle identificate da un indirizzo costituito da una sola componente?
A. su un sistema non segmentato con memoria virtuale a pagine
B. su un sistema segmentato
C. solo su un sistema senza memoria virtuale
D. su qualunque sistema a memoria virtuale
Risposta esatta: A
1.7 In un sistema con politica round-robin, la riduzione della durata del quanto di tempo
migliora i tempi medi di risposta
A. vero, sempre
B. vero, se il quanto di tempo non diventa minore del tempo di utilizzo di CPU fra due
operazioni di I/O per i lavori piu' interattivi
C. vero, se il quanto di tempo non diventa minore del tempo di utilizzo di CPU fra due
operazioni di I/O per i lavori piu' interattivi, e se non diventa cosi' piccolo da rendere
eccessiva la percentuale di tempo di CPU consumata per le commutazioni di contesto

Pagina 35di 36

D. vero, se non diventa cosi' piccolo da rendere eccessiva la percentuale di tempo di CPU
consumata per le commutazioni di contesto
Risposta esatta: C
1.8 Si consideri un sistema con 4 processi P0, P1, P2 e P3 e 3 risorse non prelazionabili A, B
e C. All'istante t l'allocazione delle risorse e' la seguente:
- P0 possiede 1 risorsa di tipo A, 2 di tipo B e 2 di tipo C. Le richieste massime di P0 sono:
3 risorse di tipo A, 4 di tipo B e 4 di tipo C.
- P1 possiede 1 risorsa di tipo A, 2 di tipo B e 2 di tipo C. Le richieste massime di P1 sono:
3 risorse di tipo A, 2 di tipo B e 3 di tipo C.
- P2 possiede 1 risorsa di tipo A e 1 di tipo C. Le richieste massime di P2 sono: 1 risorsa di
tipo A, 1 di tipo B e 1 di tipo C.
- P3 possiede 1 risorsa di tipo A. Le richieste massime di P3 sono: 2 risorse di tipo A e 1 di
tipo C.
- Il sistema dispone complessivamente di 5 risorse di tipo A, 4 di tipo B e 5 di tipo C.
All'istante t il processo P3 effettua una richiesta al sistema per 1 risorsa di tipo a, se il
sistema soddisfa questa richiesta entrera':
A. in uno stato sicuro
B. in deadlock
C. in uno stato non sicuro
D. in starvation
Risposta esatta: C
Appello 14 ottobre 1998
Dare una sola risposta per ogni domanda. E' facoltativo inserire un BREVE commento per ciascun
quiz. Il commento non altera il
punteggio, ma puo' essere utile in sede di discussione orale (a volte c'e' una logica anche
negli errori...).
Si consideri un sistema costituito da due processi P1 e P2, e due semafori binari S1 e S2
inizializzati a
verde e rosso rispettivamente. I due processi hanno la seguente struttura:
1.
var C:char /*variabile condivisa fra i due processi
P1: repeat {P(S1); C = "A"; V(S2); print(C);} forever
P2: repeat {P(S2); C = "B"; print(C); V(S1)} forever
Quale fra le seguenti sequenze NON pu sicuramente essere stampata?
ABAB.. A.
BBBB. B.
ABBB. C.
AAAA D.
Risposta esatta: D
In un sistema a memoria paginata si consideri la seguente stringa di riferimento a memoria: 1.
1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6
Considerando 5 frame allocate per processo quanti page fault sono generati rispettivamente con
gli algoritmi FIFO
e LRU?
10, 7 A.
9,6 B.
10, 8 C.
11,10 D.
Risposta esatta: C
Si consideri un sistema in cui sono in esecuzione 11 processi, di cui uno esegue elaborazioni
(CPU
burst) della durata di 10 secondi fra due operazioni di I/O, e gli altri (processi interattivi)
eseguono
elaborazioni (CPU burst) della durata di 1 ms, poi emettono un carattere e attendono una
risposta da
tastiera. Considerando trascurabili i tempi di commutazione, cosa ci si puo' attendere come
ordine di
grandezza del tempo medio di risposta in ms per i processi interattivi (tempo che intercorre fra
il
momento in cui l'utente termina l'input e il momento in cui riceve il prompt), nel caso di
politica FIFO
e RR con quanto di tempo di 50 ms?
1.

Pagina 36di 36

5005,51 A.
10011,26 B.
5005,26 C.
5005,30 D.
Risposta esatta: C
Quale tra le seguenti affermazioni e' falsa? 1.
un sistema multiprogrammato non e' necessariamente multiutente A.
un sistema multiprogrammato richiede uno spoolig system B.
un sistema multiprogrammato consente di sovrapporre I/O e elaborazioni C.
un sistema multiprogrammato non richiede necessariamente la presenza di memoria virtuale D.
Risposta esatta: B
Si consideri un sistema in cui due processi, P1 e P2, possono utilizzare entrambi le risorse R1
e R2 in
modo esclusivo e senza possibilit di preemption. P1 pu richiedere solo R1; P2 pu richiedere
R1 e
R2. Allistante T, P1 ha assegnata R1 e P2 ha assegnata R2; in questo istante P2 richiede R1. Il
sistema in uno stato:
1.
di deadlock A.
non sicuro B.
sicuro C.
non possibile rispondere D.
Risposrta esatta: C
In quale caso la gestione a memoria virtuale (con swap di pagine) inutile o, al limite,
pericolosa? 1.
in un sistema uniprogrammato A.
in un sistema real-time per controllo di processo B.
in un sistema che svolge attivit di calcolo scientifico C.
sempre utile D.
Risposta esatta: B
Cosa significa parlare di clock a 50 MHz? 1.
che viene eseguita una istruzione ogni 20 ns A.
che viene eseguita una microistruzione ogni 20 ns B.
che viene generato un interrupt di clock ogni 20 ns C.
che viene eseguito un accesso a memoria ogni 20 ns D.
Risposta esatta: B
Si consideri un File System con allocazione dei blocchi fisici organizzata a indice a piu'
livelli. Se N e'
il numero di puntatori a blocchi fisici contenuti in un nodo dell'albero di indici, come varia
il numero
di livelli dell'indice al variare della dimensione D del file?
1.
come il logaritmo di D in base 2 A.
come il logaritmo di N in base 2 B.
come il logaritmo di N in base D C.
come il logaritmo di D in base N D.
Risposta esatta: D
Appello 21 ottobre 1999