Domande Sisop

Embed Size (px)

DESCRIPTION

domande sisop unimi

Citation preview

  • 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 il 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 al 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: 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 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

  • 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 PM C) T
  • 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