Font size
WorksheetsDomande di Informatica
Total questions: 76
Worksheet time: 38mins
Risorse private sono ...
Risorse allocate staticamente dedicate
Risorse allocate staticamente condivise
Risorse allocate dinamicamente dedicate
Risorse allocate dinamicamente condivise
Nell'interleaving ....
c'è una sola CPU e l'esecuzione si alterna: un solo processo alla volta è in esecuzione.
c'è una sola CPU e c'è un intervallo di tempo in cui più processi sono in esecuzione
c'è un intervallo di tempo in cui i due processi sono in esecuzione contemporaneamente
ci sono più CPU e l'esecuzione si alterna
Che cosa si intende per comunicazione sincrona nello scambio di messaggi?
L'invio e la ricezione dei messaggi richiede che sia il mittente che il destinatario siano pronti nello stesso momento
I messaggi vengono inviati senza attendere la conferma del destinatario
I messaggi vengono salvati in un file di log
I processi comunicano tramite variabili condivise
Lo stallo si può presentare se le risorse sono prerilasciabili?
No
Si
E’ una condizione ininfluente per lo stallo
Dipende dal linguaggio con cui è stato sviluppato il sistema operativo
Nel modello a scambio di messaggi le risorse comuni:
non ci sono risorse condivise
sono allocate staticamente
sono allocate dinamicamente
sono allocate in maniera dipendente dall'architettura
Quale problema si verifica quando due o più processi o thread si bloccano a vicenda aspettando risorse detenute dall'altro?
Deadlock
Race condition
Starvation
Livelock
Quale problema si verifica quando più thread o processi accedono simultaneamente alle stesse risorse senza un'adeguata sincronizzazione?
Race condition
Deadlock
Starvation
Livelock
Cosa determina la necessità dell’accesso mutuamente esclusivo a un’area di memoria condivisa tra più thread o processi?
Il rischio che l’aggiornamento concorrente del valore delle variabili produca, a causa della non atomicità delle operazioni di lettura/scrittura in memoria, risultati corrotti.
La necessità di tracciare gli accessi per soddisfare le esigenze di sicurezza del sistema operativo.
L’accesso non dovrebbe mai essere di tipo mutuamente esclusivo per mantenere elevate le prestazioni di esecuzione del codice.
La possibilità di scrivere un codice di accesso più semplice e lineare.
Che cosa causa un deadlock in un sistema di processi concorrenti?
Processi che attendono indefinitamente risorse detenute l'uno dall'altro
Processi che terminano prematuramente
Un sovraccarico della CPU
Una memoria insufficiente
Quali tra i seguenti sono tipi di comunicazione nei modelli a scambio di messaggi CSP?
Sincrono a rendez-vous stretto
Sincrono a rendez-vous esteso
asincrono a rendez-vous stretto
asincrono a rendez-vous esteso
I problemi caratteristici della concorrenza fra processi sono:
la sincronizzazione e la mutua esclusione
l’utilizzo efficiente della memoria principale
la frammentazione dei dati nella memoria di massa
non sussistono problematiche specifiche
Quando arriva un interrupt, il sistema operativo....
Può cambiare lo stato del task attivo, in quel momento, da “running” a “blocked”
Ignora l’interrupt
Cambia sempre lo stato del task attivo, in quel momento, da “running” a “blocked”
Dopo aver servito l’interrupt fa sempre riprendere l’esecuzione del task che era attivo al momento dell’arrivo dell’interrupt
Nel modello a scambio di messaggi, come comunicano tra loro i processi?
Tramite l'invio e la ricezione di messaggi
Tramite l'accesso a variabili globali condivise
Utilizzando mutex per sincronizzare l'accesso alle risorse
Accedendo direttamente alla memoria fisica
Che cosa accade quando si verifica una race condition in un sistema concorrente?
I risultati delle operazioni possono essere imprevedibili e variabili
Tutti i processi vengono eseguiti in ordine di arrivo
Viene creato un nuovo processo
La memoria viene allocata dinamicamente
Che cos'è una sezione critica in programmazione concorrente?
Una parte del codice che deve essere eseguita in modo atomico per prevenire accessi concorrenti
Una routine di avvio del sistema operativo
Un algoritmo di ordinamento
Un modulo di input/output
Che cos'è una variabile condivisa nel contesto della programmazione concorrente con memoria comune?
Una variabile che può essere letta e modificata da più thread
Una variabile che viene utilizzata solo dal thread principale
Una variabile utilizzata per memorizzare gli errori di sistema
Una variabile che contiene la configurazione del sistema
Qual è la differenza principale tra multitasking preemptivo e cooperativo?
Nel multitasking preemptivo, il sistema operativo può interrompere un processo per assegnare la CPU a un altro processo
Nel multitasking cooperativo, il sistema operativo può interrompere un processo per assegnare la CPU a un altro processo
Nel multitasking cooperativo, i processi vengono eseguiti simultaneamente su più CPU
Nel multitasking preemptivo, i processi non condividono le risorse
Un'errata sincronizzazione può portare:
lla starvation e deadlock
all'inteliving
all' overlapping
al fairness
Come " correttezza temporale” Si intende soddisfare il vincolo:
Determinismo
Latenza
Operazione
Sincronizzazione
«Programmazione concorrente» significa che ...
... più flussi di esecuzione contemporaneamente attivi concorrono per l’uso di risorse condivise.
... processi distinti eseguono lo stesso programma.
... programmatori distinti producono lo stesso codice che viene in seguito comparato e integrato in modo da minimizzare la probabilità dei difetti.
... è p
Cosa comporta l’inconsistenza dei dati utilizzati da processi concorrenti?
La mancanza della mutua esclusione
La sincronizzazione
La mancanza di sincronizzazione
La mutua esclusione
L’accesso di più processi ad un’area di buffer in sola modalità di lettura è:
non comporta problemi
un problema di competizione
un problema di cooperazione
un problema di sovratensione della memoria principale
La COMPETIZIONE tra processi, che problemi porta?
DeadLock e starvation
Inconsistenza dei dati
Blocco dispositivo
nessun problema!
Il blocco di codice in cui processi concorrenti accedono alle risorse condivise si definisce:
sezione critica
sezione di urgenza
area rossa
zona d’ombra
Quale problema si verifica quando due o più processi tentano di accedere contemporaneamente a una risorsa condivisa senza un'adeguata sincronizzazione?
Race condition
Deadlock
Starvation
Livelock
nella classificazione di Flynn il personal computer e:
una macchina SIDI
una macchina SIMD
una macchina MISD
una macchina MIMD
La sequenza di passi che schematizza l’impiego di una risorsa da parte di un processo è:
richiesta → allocazione → utilizzo → rilascio
allocazione → utilizzo → richiesta → rilascio
richiesta → utilizzo → rilascio → allocazione
utilizzo → richiesta → allocazione → rilascio
Quale dei seguenti accoppiamenti è esatto?
modello a memoria comune o ambiente globale
modello a scambio di messaggi o ambiente totale
Modello a memoria comune o ambiente locale
modello a scambio di messaggi o ambiente globale
Il parallelismo dell'esecuzione di processi concorrenti:
e reale su sistemi multi processing e virtuale su sistemi multi processor
è solo virtuale
e solo reale
e reale su sistemi multi processor e virtuale su sistemi multi processing
nessuna delle precedenti
Quali fra le seguenti non è una condizione di Bernstein ?
domain (istruzione A) ∩ domain (istruzione B) = ∅
range (istruzione A) ∩ range (istruzione B) = ∅
range (istruzione A) ∩ domain istruzione B = ∅
domain (istruzione A )∩ range (istruzione B) = ∅
Qual è uno dei principali vantaggi del modello a scambio di messaggi rispetto al modello a memoria condivisa?
Evita i problemi di sincronizzazione come le race condition
Riduce il tempo di esecuzione dei processi
Elimina la necessità di gestione della memoria
Aumenta la velocità di accesso alla memoria
Una «sezione critica» ...
... è una sezione di codice che deve essere eseguita in modo atomico e mutuamente esclusivo rispetto ad altri thread o processi.
... è una sezione di codice particolarmente impegnativa da scrivere e verificare.
... è la parte di una risorsa condivisa che deve essere acceduta in modo mutuamente esclusivo.
... è la sequenza di operazioni effettivamente eseguita nel corso di una specifica esecuzione di un programma multithread.
L’accesso di più processi ad un’area di buffer in sola modalità di lettura è:
non comporta problemi
un problema di competizione
un problema di cooperazione
un problema di sovratensione della memoria principale
In ambito informatico cosa si intende per Dead Lock?
È la situazione che causa il blocco del sistema operativo perché l’accesso condiviso alle risorse non è correttamente gestito
È la parte di codice che non viene mai raggiunta, indipendentemente dalle situazioni operative a causa di errori di programmazione
È il crash di un software applicativo dovuto all’introduzione di dati non corretti
È il crash di un sistema dovuto allo spegnimento effettuato senza avere eseguito propriamente lo Shut Down
Qual è lo scopo principale della programmazione concorrente in un sistema operativo?
Eseguire più processi o thread simultaneamente
Ridurre il consumo di memoria
Ottimizzare le operazioni di input/output
Migliorare l'interfaccia utente
le risorse allocate staticamente sono:
private e dedicate
comuni e condivise
sempre private
sempre comuni
Se un processo preleva dei dati anagrafici di una persona da un database e li scrive in un’area buffer ed un secondo li legge per produrre la stampa della carta di identità, bisogna garantire:
sia la mutua esclusione che la sincronizzazione
nessuna condizione specifica
solo la mutua esclusione
solo la sincronizzazione
i compiti del gestore della risorsa sono: (indicare quello errato)
deve sospendere i processi che utilizzano la risorsa per molto tempo
deve mantenere aggiornato lo stato di allocazione della risorsa
deve implementare la strategia di allocazione della risorsa
deve fornire i meccanismi ai processi che hanno il diritto di utilizzare tale risorsa
Che cosa rappresenta una sezione critica in un programma concorrente?
Un segmento di codice che accede a risorse condivise e che deve essere eseguito atomisticamente
Una routine di gestione degli errori
Un modulo di interfaccia utente
Un componente di rete
Che cosa è il modello «produttore-consumatore»?
La generalizzazione di uno schema di programmazione in cui un thread scrittore e un thread lettore condividono un’area di memoria per i dati prodotti dal primo e consumati dal secondo.
Una tecnica di programmazione per cui le scritture su file devono sempre seguire le letture da file allo scopo di ottimizzare le prestazioni.
Un esempio di codice sorgente multithread da adattare alle specifiche esigenze.
Un algoritmo di accesso mutuamente esclusivo utilizzato prima che i sistemi operativi rendessero disponibili funzioni API specifiche.
Qual è il vantaggio principale dell'uso dei thread rispetto ai processi?
I thread condividono lo stesso spazio di indirizzamento
I thread richiedono più risorse rispetto ai processi
I thread non possono comunicare tra loro
I thread sono eseguiti in modo sequenziale
Qual è una delle principali differenze tra il modello a scambio di messaggi e il modello a memoria condivisa?
Il modello a scambio di messaggi non necessita di sincronizzazione esplicita delle risorse condivise
Il modello a memoria condivisa è più sicuro del modello a scambio di messaggi
Il modello a scambio di messaggi non può essere utilizzato in sistemi distribuiti
Il modello a memoria condivisa è utilizzato solo in sistemi a thread singolo
La programmazione concorrente dei processi si impone nell’ambito di un sistema che presenta quale delle seguenti caratteristiche?
ambiente multiprogrammato
ambiente con microcontrollore
architettura embedded
elaborazione monotask
Quale delle seguenti è una tecnica per prevenire i deadlock?
Assegnazione ordinata delle risorse
Uso di variabili globali
Aumento della priorità dei processi
Riduzione della memoria disponibile
Se è rispettata la mutua esclusione fra i processi risulta garantita anche la loro sincronizzazione?
No
Si
Dipende dal problema di concorrenza
Solo nei sistemi operativi Unix-like
Indica quale non è una caratteristica degli errori dipendenti dal tempo:
Inconsistenti
Indeterminati
irriproducibili
Latenti
Che cosa si intende per comunicazione asincrona nello scambio di messaggi?
L'invio dei messaggi non richiede che il destinatario sia pronto a riceverli immediatamente
I messaggi vengono sempre ricevuti e elaborati immediatamente
I messaggi non vengono mai persi
I messaggi sono memorizzati in un'area condivisa della memoria
Che cosa si intende per deadlock in un ambiente a memoria comune?
Una situazione in cui due o più thread si bloccano a vicenda aspettando risorse detenute dall'altro
Un errore di compilazione
La fine della esecuzione di un thread
L'inizio della esecuzione di un processo
Nel l'overlapping
c'è un intervallo di tempo in cui i due processi sono in esecuzione contemporaneamente e ci sono più CPU.
c'è una sola CPU e l'esecuzione è alternata: un solo processo alla volta è in esecuzione.
l'esecuzione si alterna su più CPU: un solo processo alla volta è in esecuzione.
c'è una sola CPU e due processi sono in esecuzione contemporaneamente
Che cosa si intende per livelock in un sistema concorrente?
Due o più processi continuano a cambiare stato senza fare progressi effettivi
Un processo viene bloccato indefinitamente in attesa di una risorsa
Un processo termina correttamente
Due processi tentano di accedere alla stessa risorsa contemporaneamente
Quale tipo di errore si verifica quando un thread modifica una risorsa mentre un altro thread la sta leggendo, causando risultati imprevisti?
Race condition
Deadlock
Starvation
Thrashing
Quale delle seguenti affermazioni descrive correttamente l'overlapping?
La sovrapposizione di operazioni di I/O con l'elaborazione della CPU
L'uso di paginazione per la gestione della memoria
La condivisione di risorse di rete tra processi
L'esecuzione di più processi su core separati
Quale delle seguenti condizioni è necessaria per il verificarsi di un deadlock?
Mutua esclusione (almeno una risorsa deve essere non condivisibile)
Tempo di esecuzione limitato
Allocazione dinamica della memoria
Preemptive scheduling
Quale dei seguenti è un metodo per prevenire il deadlock?
Allocare risorse in modo che almeno una condizione del deadlock non possa verificarsi
Permettere ai processi di attendere indefinitamente
Ignorare il problema e riavviare il sistema
Disabilitare l'interruzione hardware
Quale tecnica può essere usata per evitare la starvation?
Utilizzo di algoritmi di scheduling con priorità dinamiche
Assegnazione di tutte le risorse richieste all'inizio
Esecuzione sequenziale dei processi
Aumento del tempo di attesa nei processi
Che cosa causa la condizione di "race" (corsa critica) in un programma concorrente?
L'accesso simultaneo a una risorsa condivisa senza adeguata sincronizzazione
L'uso di risorse in ordine corretto
La mancanza di priorità nei processi
L'uso di un singolo thread di esecuzione
Cos'è l'interleaving nei sistemi operativi?
L'esecuzione alternata di istruzioni di più processi per simulare l'esecuzione simultanea
L'allocazione di memoria contigua a un processo
La gestione di file system su dischi multipli
Il caricamento di programmi in memoria principale
Quale delle seguenti condizioni è necessaria per il verificarsi di un deadlock?
Mutua esclusione (almeno una risorsa deve essere non condivisibile)
Tempo di esecuzi
Cos'è una "race condition"?
Una situazione in cui l'esito di un'operazione dipende dall'ordine di esecuzione dei processi concorrenti
Una condizione in cui un processo non può terminare la sua esecuzione
Una tecnica per migliorare l'allocazione della memoria
Un metodo per ottimizzare le prestazioni della CPU
Che cos'è il "mutual exclusion" nei sistemi operativi?
Un principio che assicura che solo un processo alla volta possa accedere a una risorsa critica
Un metodo per eseguire più processi contemporaneamente
Una tecnica di compressione dati
Una strategia di gestione della memoria
Qual è l'effetto del mancato rispetto delle Condizioni di Bernstein?
Possibili interferenze e risultati non deterministici
Maggiore utilizzo della memoria
Aumento delle prestazioni della CPU
Miglioramento della gestione della memoria
Quale delle seguenti è una delle Condizioni di Bernstein per l'assenza di interferenze?
Le variabili in uscita di un processo non devono essere utilizzate come variabili in ingresso da un altro processo
Due processi devono avere la stessa priorità
Un processo deve eseguire sempre prima di un altro
I processi devono essere eseguiti su core diversi
Quale delle seguenti tecniche può prevenire la starvation?
Utilizzo di algoritmi di scheduling con priorità dinamiche
Assegnazione di tutte le risorse richieste all'inizio
Esecuzione sequenziale dei processi
Aumento del tempo di attesa nei processi
Quale meccanismo può essere utilizzato per prevenire i deadlock?
Algoritmo del banchiere
Cache associativa
Sistema di paging
Round robin scheduling
Qual è lo scopo delle Condizioni di Bernstein?
Determinare se due segmenti di codice possono essere eseguiti in parallelo senza conflitti
Allocare memoria dinamica ai processi
Gestire la memoria virtuale
Sincronizzare l'
Che cos'è il "starvation" in un sistema operativo?
Una situazione in cui un processo non riesce ad ottenere le risorse necessarie per l'esecuzione per un periodo indefinito
Un processo che termina correttamente
Un errore di lettura/scrittura del disco
Un metodo di gestione della memoria
Quale tecnica può prevenire le race condition?
Sincronizzazione dell'accesso alle risorse condivise
Allocazione di memoria contigua
Utilizzo di paginazione
Aumento della priorità dei processi
Qual è lo scopo delle Condizioni di Bernstein?
Determinare se due segmenti di codice possono essere eseguiti in parallelo senza conflitti
Allocare memoria dinamica ai processi
Gestire la memoria virtuale
Sincronizzare l'accesso alle risorse di rete
Quale delle seguenti opzioni è un esempio di una situazione che viola la proprietà di liveness?
Un processo è bloccato in attesa di una risorsa indefinitamente
Un processo termina correttamente
La memoria è allocata correttamente a tutti i processi
Tutti i processi accedono alle risorse senza errori
Che cosa si intende per starvation in un ambiente di programmazione concorrente?
Un processo non riceve mai le risorse necessarie per proseguire la sua esecuzione
Un processo riceve tutte le risorse e impedisce ad altri di accedervi
Un processo termina inaspettatamente
Un processo entra in uno stato di attesa infinita
Quale delle seguenti opzioni è un esempio di una situazione che viola la proprietà di safety?
Due processi accedono simultaneamente a una risorsa critica causando un errore di stato
Un processo è bloccato in attesa di una risorsa indefinitamente
Un processo riceve sempre la priorità più alta
Un dispositivo di I/O funziona correttamente
Cos'è la mutua esclusione nei sistemi operativi?
Un principio che assicura che solo un processo alla volta possa accedere a una risorsa critica
Un metodo per eseguire più processi contemporaneamente
Una tecnica di compressione dei dati
Una strategia di gestione della memoria
Che cos'è il "deadlock" in un sistema operativo?
Una situazione in cui due o più processi sono bloccati in attesa di risorse che non possono essere rilasciate
Un metodo per ottimizzare l'uso della CPU
Un tipo di file system
Un'area di memoria riservata per il kernel
Qual è la proprietà di safety in un sistema concorrente?
La garanzia che niente di male accadrà durante l'esecuzione del sistema
La capacità del sistema di terminare tutti i processi
La garanzia che tutte le risorse saranno allocate
La capacità di eseguire operazioni di I/O senza errori
Che cosa implica la condizione di Overlapping?
L'esecuzione di operazioni di I/O mentre la CPU continua l'elaborazione
La frammentazione della memoria
L'uso di più thread in un processo
La gestione dei file di registro
Che cos'è la proprietà di liveness in un sistema concorrente?
La garanzia che qualcosa di buono accadrà eventualmente
La capacità del sistema di prevenire la frammentazione della memoria
La gestione efficiente dei file di registro
La garanzia che le operazioni di rete siano sempre completate
