問題一覧
1
Cosa sono i Thread Processing Clusters (TPC) ?
Sono presenti nelle architetture basata su GPU e gruppi di Streaming Multiprocessor che condividono anche altre circuiterie che servono per applicazioni grafiche e in genere non visibili al programmatore
2
Con riferimento ai sistemi operativi, specificare quale delle seguenti affermazioni è quella falsa:
Non esistono sistemi operativi per la gestione di sistemi real time
3
In un sistema operativo su sistema multielaborazione:
Più processi indipendenti possono andare in esecuzione contemporaneamente
4
Che cosa è un sistema operativo
Un insieme di software che ha l'obiettivo di rendere più semplice ed efficace lo sviluppo dei programmi e realizzare politiche di gestione delle risorse Hardware
5
In un sistema operativo multiprogrammato:
Più processi indipendenti possono essere gestiti in contemporaneamente
6
Cosa è lo spooling?
E' una tecnica che consente l'utilizzo contemporaneo delle risorse
7
Con riferimento ai sistemi operativi Batch, specificare quale fra le seguenti affermazioni è quella falsa:
Nessuna delle altre opzioni
8
Cosa sono i Mainframe?
Sono calcolatori elettronici di grosse dimensioni su cui giravano sistemi operativi di tipo batch
9
Cosa sono i sistemi operativi interattivi?
Nessuna delle altre opzioni
10
I sistemi operativi distribuiti su quali architetture si utilizzano?
Cluster
11
Quali sono i principali vantaggi dei sistemi paralleli?
Efficienza, Affidabilità, Disponibilità
12
Con riferimento ai sistemi operativi real time, indicare quale fra le seguenti affermazioni è falsa
Si possono classificare in soft, medium e hard real time
13
In una smart TV che tipo di sistema operativo gira?
Un sistema embedded
14
L'allocazione delle risorse da parte del sistema operativo è gestita da funzioni:
Non visibili all'utente
15
Fra le funzioni visibili all'utente di un sistema operativo quali delle seguenti ne fanno parte?
Tutte quelle che realizzano il criterio di convenienza
16
Fra le funzioni non visibili all'utente di un sistema operativo quali delle seguenti ne fanno parte?
Tutte quelle che realizzano il criterio di efficienza
17
Con riferimento alle chiamate di sistema di un sistema operativo, quele fra le seguenti affermazioni è quella falsa?
Non possono essere scritte in linguaggi come l'Assembly e il C/C++
18
Le macchine virtuali sono:
Sistemi strutturati a livelli
19
I sistemi cliente-server sono:
Sistemi orientati al microkernel
20
La struttura di base di un sistema operativo monolitico è costituita da:
Programma principale, procedure di servizio, procedure di utilità
21
La struttura di base di un sistema operativo stratificato è costituita da:
Nessuna delle altre opzioni
22
La struttura di base di un sistema operativo stratificato è costituita da:
Livello Driver Dispositivi, Livello Nucleo, Livello dei Sotto Sistemi, Livello API, Livello Applicazione
23
Quando un processo può passare dallo stato waiting allo stato running?
Nessuna delle altre opzioni
24
Quando viene allocata la memoria ad un processo?
Quando passa nello stato ready
25
Quali sono gli stati in cui si può trovare un processo?
New, Ready, Running, Waiting, Terminate
26
Che cosa è il descrittore di processo?
E' una struttura dati del processo in esecuzione che contiene tutte le informazioni che descrivono l'istanza del processo
27
Quale fra i seguenti elementi non fa parte dell'istanza di un processo:
Il codice sorgente caricato in memoria
28
Che cosa è un processo?
Nessuna delle altre opzioni
29
Quali fra le seguenti attività relative ai processi non viene gestita dal sistema operativo
Nessuna delle altre opzioni
30
Il passaggio dallo stato ready allo stato running di un processo viene effettuato da:
Dispatcher
31
Con riferimento allo scheduling dei processi, indicare quale fra le seguenti descrizioni è quella falsa:
Ogni processo si può caratterizzare come avente una prevalenza di I/O o una prevalenza di elaborazione. Si distinguono: processi I/O bound, processi che fanno poche richieste di I/O; processi CPU bound, processi che richiedono maggior tempi di calcolo e fanno poche richieste di I/O
32
Con riferimento allo scheduling dei processi, indicare quale fra le seguenti descrizioni è quella falsa:
- Lo scheduler a lungo termine si differenzia da quello a breve termine principalmente per la frequenza con la quale sono essi entrano in azione. - Lo scheduler a breve termine seleziona poco frequentemente un nuovo processo a cui assegnare la CPU, per questo motivo deve essere molto veloce per ottimizzare le prestazioni del sistema. - Lo scheduler a lungo termine viene eseguito più frequentemente e a causa del maggior intervallo che intercorre tra le esecuzioni dei processi, dispone di meno tempo per scegliere un processo per l'esecuzione.
33
Nei sistemi operativi multiprogrammati si hanno le seguenti code dei processi:
Waiting queue, ready queue
34
In generale, nel contesto dei sistemi operativi, quali fra le seguenti code di processi non esiste?
La coda dei processi terminati
35
In ambiente UNIX cosa è il processo init()?
Esso è il padre di tutti i processi, gestisce il lancio di tutti i programmi per rendere attivo il sistema operativo. Il suo PID è sempre uno e gestisce i processi orfani
36
Nel sistema operativo UNIX la terminazione di un processo può avvenire:
Normalmente, in maniera anomala, per volonta dei un altro processo
37
Con riferimento alla creazione dei processi (processo padre che genera un processo figlio), indicare quale delle seguenti descrizioni è quella falsa:
Entrambi i processi (genitore e figlio) continuano l'esecuzione all'istruzione successiva alla chiamata di sistema fork( ): la chiamata di sistema fork ( ) riporta il valore del proprio PID nel nuovo processo (il figlio) e riporta l'identificatore del processo figlio nel processo genitore.
38
Con riferimento alla creazione dei processi (processo padre che genera un processo figlio), indicare quale delle seguenti affermazioni è quella falsa:
Condivisione delle risorse: un figlio ottiene le proprie risorse direttamente ed esclusivamente dal sistema operativo.
39
Che cosa è un thread?
Un thread è l'unità di base d'uso della CPU e comprende un identificatore di thread (ID), un contatore di programma, un insieme di registri, e una pila (stack).
40
Cosa condividono i thread di uno stesso processo?
Codice, dati e file
41
La gestione dei thread a livello utente prevede la mappatura sul sistema operativo secondo quale modello?
Molti a uno
42
La gestione dei thread a livello kernel prevede la mappatura sul sistema operativo secondo quale modello?
Nessuna delle altre opzioni
43
Queli fra i seguenti vantaggi non è tipico della programmazione multi-thread?
Nessuna delle altre opzioni
44
Di cosa si occupa il dispacher?
Effettua il cambio di contesto, passa alla modalità utente e salta nella posizione giusta del programma utente per riavviarne l'esecuzione
45
In quali circostanze non parte lo scheduler della CPU?
Nessuna delle altre opzioni
46
Cosa si intende per troughput?
Il numero di processi che completano la loro esecuzione per unità di tempo
47
in generale, quale può essere considerato come migliore indice per valutare le prestazioni degli algoritmi di scheduling?
Il tempo di attesa nella coda dei processi pronti
48
Con riferimento allo scheduling della CPU, l'algoritmo First-Come First-Served quale politica segue?
Il primo processo che si trova nella coda dei processi pronti da più tempo viene servito
49
Cosa significa che l'algoritmo di scheduling della CPU Shortest Job Firs può essere preemptive?
Se arriva un processo nella coda con lunghezza di CPU burst inferiore a quella rimasta da eseguire al processo nello stato running, il sistema operativo esegue un context switch tra i due processi
50
Con riferimento allo scheduling della CPU, l'algoritmo Shortest Job First quale politica segue?
Il primo processo ad essere eseguito è quello con minor tempo di esecuzione, cioè quello con CPU burst più breve
51
Con riferimento allo scheduling della CPU, l'algoritmo Round Robin quale politica segue?
I processi vengono eseguiti per un intervallo di tempo definito dal sistema. Dopo tale intervallo il processo viene inserito in fondo alla coda dei processi pronti e la CPU viene assegnata al prossimo processo prelevato dalla testa della coda.
52
Con riferimento al modello di cooperazione dei processi a scambio di messaggi, indicare quale fra le seguenti affermazioni è quella falsa:
Consente anche la condivisione della memoria
53
Il sistema produttore consumatore è un esempio di cooperazione dei processi secondo il modello a:
Condivisione di memoria
54
Come può avvenire la cooperazione fra processi?
Tramite lo scambio di messaggi o la condivisione della memoria
55
Con riferimento al concetto di cooperazione fra processi, indicare quale delle seguenti affermazioni è quella falsa:
Può avvenire solo tramite meccanismi basati sulla condivisione di risorse
56
Cosa è la sezione critica?
E' la parte di codice di un programma in cui il corrispondente processo può accedere a risorse comuni o modificare dati comuni ad altri processi.
57
La sezione critica di un programma deve essere eseguita:
In maniera mutuamente esclusiva
58
Cosa è la race condition?
Si parla di race condition quando più processi accedono e manipolano gli stessi dati concorrentemente e l'esito varia a seconda dell'ordine con il quale avvengono gli accessi.
59
Come si garantisce l'atomicità delle operazioni nelle sezioni critiche nei sistemi monoprocessore?
Disabilitando le interruzioni
60
Con riferimento ai semafori, indicare quale è il codice che implementa correttamente la funzione wait():
void wait (sem s){ while (s ≤ 0) {} s--; }
61
Con riferimento ai semafori mutex, indicare quale è il codice che implementa correttamente una sezione critica:
sem mutex = 1; do { wait(mutex); // entry section <sezione critica> signal(mutex); // exit section <sezione non critica> }
62
Come si realizza la signal nella gestione dei semafori con processi bloccanti?
signal(semaforo *s){ s->valore++; if (s->valore ≤ 0) then { /* rimuove un processo p dalla coda del semaforo */ wakeup(p); } }
63
Con riferimento ai semafori, indicare quale è il codice che implementa correttamente la funzione signal():
void signal (sem s){ s++; }
64
E' possibile realizzare i monitor utilizzando i semafori?
Si, utilizzando un semaforo mutex inizializzato a uno
65
Con riferimento ai monitor, indicare quale fra le seguenti descrizioni è quela vera:
Il vantaggio nell'utilizzo del monitor deriva dal fatto che non si deve codificare esplicitamente alcun meccanismo per realizzare la mutua esclusione, giacché il monitor permette che un solo processo sia attivo al suo interno
66
Con riferimento ai monitor, indicare quale fra le seguenti descrizioni è quela vera:
I metodi del monitor consentono avere come argomento i dati condivisi da più processi e le operazioni definite su di loro sono contraddistinti dalla mutua esclusione
67
Con riferimento ai monitor, indicare quale fra le seguenti descrizioni è quela vera:
Si tratta di un tipo di dato astratto che al suo interno incapsula dati privati. L'accesso a tali dati avviene solo attraverso metodi pubblici
68
Indicare quale è l'implementazione corretta del processo consumatore utilizzando i semafori:
Nessuna delle altre opzioni
69
Indicare quale è l'implementazione corretta del processo produttore utilizzando i semafori:
sem mutex = 1; sem full = 0; sem empty = n; void producer(void) { ..... do { <produce un elemento in nextp> wait(empty); //se il buffer è pieno aspetta wait(mutex); //blocca la risorsa <inserimento nextp nel buffer> signal(mutex); signal(full); } while (1); }
70
Come si può risolvere il problema dei cinque filosofi con i semafori?
Una possibile soluzione prevede che ogni bacchetta sia rappresentata con un semaforo. Quando un filosofo vuole afferrare una bacchetta, esegue una operazione wait() sul corrispondente semaforo. Quando ha finito di utilizzarla esegue una signal() sul semaforo corrispondente. Quindi, i dati condivisi sono un vettore di cinque elementi di semafori, dove ogni elemento è inizializzato ad uno.
71
Il sistemi operativi UNIX-based seguono il paradigma a:
Scambio di messaggi
72
In un sistema operativo UNIX come si può creare un nuovo processo?
Utilizzando la primitiva fork()
73
In ambiente UNIX la la syscall _exit(), o la library call exit() servono per:
Terminare esplicitamente un processo
74
Quando il codice oggetto di un programma si dice rilocabile?
Quando il sistema operativo sa già in fase di caricamento dove risiederà il programma in memoria
75
Cosa si intende per indirizzi logici?
Sono quelli generati da un programma in esecuzione sulla CPU
76
Cosa si intende per indirizzi fisici?
Sono quelli gestiti dalla MMU (Main Memory Unit) e caricati nel registro MAR (memory address register)
77
Cosa si intende per indirizzi virtuali?
Sono gli indirizzi logici gestiti nei sistemi che realizzano l'associazione fra spazio degli indirizzi logici e spazio degli indirizzi fisici in fase di esecuzione
78
Cosa è lo swapping dei processi?
Si tratta del procedimento di avvicendamento dei processi dalla memoria centrale alla memoria di massa
79
Come si può implementare un meccanismo di protezione della memoria in sistemi mono programmati?
Utilizzando il registro base e il registro limite
80
Nei sistemi operativi multi programmati la memoria come può essere gestita?
Con partizioni fisse o con partizioni variabili
81
Quali dei seguenti algoritmi non è classicamente utilizzato per l'allocazione di memoria in sistemi multi programmati?
Random Fit
82
Che cosa è la tabella delle pagine?
Una struttura dati implementata in hardware la tabella delle pagine, che consente di mappare pagine logiche in pagine fisiche
83
Cosa si intende per frammentazione esterna della memoria?
E' il problema tipico il cui è disponibile lo spazio totale per soddisfare una richiesta di allocazione di memoria ad un processo, ma non è contiguo
84
In una architettura che utilizza il meccanismo di paginazione come si genera l'indirizzo fisico da quello logico?
Si usa la parte più significativa (selettore) dell'indirizzo logico per identificare la base dell'indirizzo fisico dalla tabella delle pagine. La parte più significativa dell'indirizzo fisico è rappresentato dalla base e la parte meno significativa dall'offset dell'indirizzo logico
85
Che cosa sono i frame?
Blocchi di memoria fisica tutti della stessa dimensione prefissata
86
Quale è il principale responsabile della frammentazione interna della memoria?
Meccanismi di allocazione di blocchi di memoria di dimensioni prefissate
87
Quale è il principale responsabile della frammentazione esterna della memoria?
Lo swapping dei processi che richiedono memoria di dimensione diversa
88
Cosa si intende per frammentazione interna della memoria?
E' il tipico problema in cui la memoria allocata ad un processo è leggermente maggiore della memoria richiesta. La memoria in più allocata non viene impiegata ma non può essere allocata a nessun altro processo
89
Che cosa sono le pagine di memoria?
Blocchi di memoria logica tutti della stessa dimensione prefissata
90
Cosa succede al contentuto di una TLB (translation lookaside buffer ) quando c'è un cambiamento di contesto?
Il suo contenuto deve essere invalidato
91
Cosa è la TLB (translation lookaside buffer )?
Si utilizza per velocizzare la ricerca nella tabelle delle pagine. Essa è una memoria associativa ad alta velocità.
92
Nel contesto della memoria paginata, a cosa serve il bit di protezione?
Per determinare su una pagina si può leggere e scrivere oppure soltando leggere
93
Con riferimento alla segmentazione della memoria, indicare quale fra le seguenti descrizioni è quella falsa:
Il meccanismo di segmentazione non consente la condivisione di porzioni di memoria da parte di processi diversi
94
Che tipo di problema consente di risolvere la segmentazione?
Nessuna delle altre opzioni
95
Che cosa è la segmentazione della memoria?
La segmentazione è un meccanismo predisposto a livello architetturale per suddividere l’intero spazio di memoria lineare in sottospazi protetti e di dimensioni ridotte chiamati segmenti.
96
Che cosa è il paginatore?
E' un modulo del sistema operativo che si occupa della paginazione su richiesta e si occupa del passaggio delle pagine dalla memoria principale alla memoria di massa e viceversa
97
Quale è la filosofia alla base della memoria virtuale?
Tale meccanismo consente l'esecuzione di processi non contenuti interamente nella memoria
98
Che cosa è il page fault trap?
E' una eccezione che viene inviata al processore quando un processo tenta l'accesso ad una pagina non caricata in memoria centrale
99
Con riferimento alla memoria virtuale, quale delle seguenti descrizioni è falsa?
Usando la memoria virtuale non si separa la memoria logica, vista dall'utente, dalla memoria fisica: gli indirizzi logici corrispondono agli indirizzi fisici
100
Cosa succede nell'ultimo passo di gestione del page fault trap?
Il processo che è stato bloccato dall'eccezione riprende il controllo della CPU e riparte riavviando l'istruzione interrotta. A questo punto il processo può accedere alla pagina come se questa fosse già presente in memoria