Modulo 1 Flashcards

(102 cards)

1
Q

1) Quale delle seguenti affermazioni sulle directory di un file system è vera?

A - È sempre necessario identificare un file di un file system fornendone il path assoluto

B - È sempre necessario identificare un file di un file system fornendone il path relativo alla directory corrente

C - È sempre possibile dare lo stesso nome a file diversi

D - Nessuna delle altre opzioni è vera

A

D - Nessuna delle altre opzioni è vera

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

2) Quale delle seguenti affermazioni sulla concorrenza tra processi o thread è falsa?

A - La disabilitazione delle interruzioni impedisce la creazione di nuove interruzioni

B - L’abuso della disabilitazione delle interruzioni fa diminuire la multiprogrammazione, a parità di numero di processi

C - Se un processo può disabilitare le interruzioni tramite un’istruzione macchina dedicata, allora può far diminuire l’uso del processore

D - La disabilitazione delle interruzioni non funziona su sistemi con più processori o più core

A

A - La disabilitazione delle interruzioni impedisce la creazione di nuove interruzioni

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

3) Assumendo un sistema monoprocessore, quale delle seguenti affermazioni è vera?

> Lo scheduler ha, tra i suoi obiettivi, quello di minimizzare il numero di processi che rispettano la propria deadline

> Lo scheduler ha, tra i suoi obiettivi, quello di minimizzare il volume di lavoro nel tempo

> Lo scheduler ha, tra i suoi obiettivi, quello di massimizzare il tempo di risposta

> Lo scheduler ha, tra i suoi obiettivi, quello di minimizzare il tempo di inattività del processore

A

> Lo scheduler ha, tra i suoi obiettivi, quello di minimizzare il tempo di inattività del processore

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

4) Quale delle seguenti affermazioni sul modello dei processi in UNIX SVR4 System V Release 4 è falsa?

> Se un processo è Zombie, allora è terminato ma il suo process control block è ancora in memoria

> Asleep in Memory coincide con Blocked

> Ha anche uno stato Zombie: serve per tutti i processi che sono terminati

> Ha 9 stati (10 con Exit)

A

> Ha anche uno stato Zombie: serve per tutti i processi che sono terminati

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

5) Quale delle seguenti affermazioni sulla memoria virtuale con paginazione è falsa?

> Quando un indirizzo non viene trovato nel translation lookaside buffer, è necessario consultare la normale tabella delle pagine

> Il translation lookaside buffer è una particolare cache, ma non è completamente trasparente al sistema operativo

> Il translation lookaside buffer permette di accedere direttamente al contenuto degli indirizzi di memoria virtuali usati più di recente

> In assenza di translation lookaside buffer, l’accesso ad un indirizzo virtuale può richiedere almeno 2 accessi in memoria

A

> Il translation lookaside buffer è una particolare cache, ma non è completamente trasparente al sistema operativo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

6) Quale delle seguenti affermazioni sugli obiettivi di sicurezza di un sistema operativo è vera?

> Per “disponibilità” dell’hardware si intende la garanzia che le workstation restino sempre fisse in un posto

> Per “confidenzialità” dei dati si intende la garanzia che essi non possano essere generati automaticamente

> Nessuna delle altre opzioni è vera

> Per “integrità” dei dati si intende la garanzia che essi non vengano mai modificati

A

> Nessuna delle altre opzioni è vera

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

7) Quale delle seguenti affermazioni sul buffering dell’I/O è vera?

> Nessuna delle altre opzioni è corretta

> Avviene direttamente su disco, altrimenti si rischia il deadlock per interferenze con il DMA

> Nel caso ci siano più buffer, vanno gestiti come nel problema dei lettori/scrittori

> Può consistere nel completare un’istruzione di output I (è una i) dopo che alcune istruzioni successive ad I siano state eseguite

A

> Può consistere nel completare un’istruzione di output I (è una i) dopo che alcune istruzioni successive ad I siano state eseguite

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

8) Quale delle seguenti affermazioni, riguardanti il joint progress diagram di 2 processi, è vera?

> Nessuna delle altre opzioni è vera

> Può essere usato per visualizzare le possibilità di deadlock, ma solo se i processi richiedono al massimo 2 risorse

> Può essere usato per determinare quando uno dei due processi va in esecuzione a discapito dell’altro

> Può essere usato per determinare quando uno dei due processi sperimenta un page fault

A

> Nessuna delle altre opzioni è vera

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

9) Quale delle seguenti affermazioni sulla gerarchia della memoria è vera?

> Nessuna delle altre opzioni è corretta

> Andando dall’alto in basso, cresce il costo

> Andando dall’alto in basso, diminuisce la capacità

> Andando dall’alto in basso, diminuisce la frequenza di accesso alla memoria da parte del processore

A

> Andando dall’alto in basso, diminuisce la frequenza di accesso alla memoria da parte del processore

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

10) Quale dei seguenti elementi non fa parte del process control block?

> Il puntatore alla tabella delle pagine

> L’identificatore del thread

> Lo stato o modalità

> L’identificatore del processo

A

> L’identificatore del thread

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

11) Assumendo un sistema monoprocessore, quale delle seguenti affermazioni sugli algoritmi di scheduling è vera?

> Nessuna delle altre opzioni è vera

> Il quanto di tempo ottimale per lo scheduler round-robin è maggiore del tipico tempo di completa esecuzione di un processo interattivo

> Lo scheduler First Come First Served favorisce i processi I/O-bound

> Anche assumendo che tutti i processi prima o poi terminino, lo scheduler First Come First Served soffre di starvation

A

> Nessuna delle altre opzioni è vera

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

12) Considerare un insieme di cinque processi P1, P2, P3, P4, P5 con i seguenti tempi di arrivo e tempi di esecuzione in millisecondi:

|———-|—————–|———————|

| P1 | 0 | 14 |

| P2 | 8 | 16 |

| P3 | 5 | 3 |

| P4 | 11 | 7 |

| P5 | 17 | 9 |

Quale delle seguenti affermazioni è falsa?

> Non ci sono sufficienti informazioni per determinare come si comporterebbe l’algoritmo di scheduling a feedback classico di Unix

> Non ci sono sufficienti informazioni per determinare come si comporterebbe l’algoritmo di scheduling Virtual Round-Robin

> Non ci sono sufficienti informazioni per determinare come si comporterebbe l’algoritmo di scheduling Round-Robin

> Non ci sono sufficienti informazioni per determinare come si comporterebbe l’algoritmo di scheduling SRT

Processo | Tempo di Arrivo | Tempo di Esecuzione |

A

> Non ci sono sufficienti informazioni per determinare come si comporterebbe l’algoritmo di scheduling SRT

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

13) Considerare un insieme di cinque processi P1, P2, P3, P4, P5 con i seguenti tempi di arrivo e tempi di esecuzione in millisecondi:

|———- |—————– |——————— |

| P1 | 0 | 14 |

| P2 | 8 | 16 |

| P3 | 5 | 3 |

| P4 | 11 | 7 |

| P5 | 17 | 9 |

Assegnare questo insieme di processi ad un processore usando l’algoritmo di scheduling SRT, fino a che non terminano tutti. Quale delle seguenti affermazioni è falsa?

> Gli unici 2 processi che non sono serviti subito (ovvero, appena arrivati) sono P3 e P5

> Il tempo medio di attesa è tra 10 ed 11 ms

> Il processo con il più lungo tempo di attesa è P1

> Il tempo medio di turnaround è tra 2 e 3 ms

Processo | Tempo di Arrivo | Tempo di Esecuzione |

A

> Gli unici 2 processi che non sono serviti subito (ovvero, appena arrivati) sono P3 e P5

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

14) Quale delle seguenti affermazioni sulla segmentazione della memoria è falsa?

> Diversi segmenti possono avere diverse lunghezze

> Differentemente dalla paginazione, il programmatore assembler di un processo non interagisce esplicitamente con la gestione dei segmenti

> Per accedere ad un indirizzo contenuto in un segmento di un processo, tale segmento dovrà essere posizionato in memoria principale

> Un indirizzo di memoria principale va visto come un numero di segmento più uno spiazzamento all’interno di tale segmento

A

> Differentemente dalla paginazione, il programmatore assembler di un processo non interagisce esplicitamente con la gestione dei segmenti

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

15) Quale delle seguenti affermazioni sull’algoritmo per il rilevamento del deadlock visto a lezione è vera?

> Richiede in input, per ogni processo p e per ogni risorsa r, il numero massimo di istanze di r che p chiederà nel corso della sua esecuzione

> Se al passo 3 viene trovato un processo non marcato che soddisfi la condizione Qik ≤ wik, allora c’è un deadlock

> I processi marcati sono quelli che non sono coinvolti in un deadlock

> Nessuna delle altre opzioni è vera

A

> I processi marcati sono quelli che non sono coinvolti in un deadlock

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

16) Assumendo un sistema monoprocessore, quale delle seguenti affermazioni sul long-term scheduler è falsa?

> Viene chiamato in causa esclusivamente quando viene creato un nuovo processo

> Avendo le necessarie informazioni, una tipica strategia è mantenere una giusta proporzione, stabilita a priori, tra processi I/O-bound e CPU-bound

> Avendo le necessarie informazioni, una tipica strategia è ammettere in memoria principale i processi che richiedono dispositivi di I/O diversi da […]

> Decide quali processi, tra quelli appena creati, possono essere ammessi in memoria principale per l’esecuzione

A

> Viene chiamato in causa esclusivamente quando viene creato un nuovo processo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

17) Quale delle seguenti affermazioni sulla memoria virtuale con paginazione è vera?

> Il difetto principale del prepaging è che potrebbe portare in memoria pagine cui poi non si fa riferimento

> Placement policy e replacement policy sono sinonimi ed indicano lo stesso insieme di metodologie

> Nessuna delle altre opzioni è corretta

> Il difetto principale del paging on demand è che causa molti page fault dopo alcuni secondi di esecuzione

A

> Il difetto principale del prepaging è che potrebbe portare in memoria pagine cui poi non si fa riferimento

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

18) Quale dei seguenti requisiti deve soddisfare un meccanismo che offra la mutua esclusione?

> Non deve essere fatta alcuna assunzione sulla velocità di esecuzione dei processi coinvolti

> Se un processo fa richiesta di entrare nella sezione critica, deve poterlo fare subito

> Se un processo non fa richiesta di entrare nella sezione critica, deve comunque accordarsi all’esecuzione degli altri processi

> Si può assumere che un processo che non sia nella sezione critica prima o poi ci entri

A

> Non deve essere fatta alcuna assunzione sulla velocità di esecuzione dei processi coinvolti

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

19) Quale delle seguenti affermazioni sulla memoria virtuale con paginazione è vera?

> Il principio di località afferma che poche pagine saranno sempre sufficienti per eseguire ogni processo senza thrashing

> Il thrashing si verifica quando l’overhead dovuto alla gestione della paginazione è molto basso

> Nessuna delle altre opzioni è corretta

> La paginazione con memoria virtuale funziona bene nonostante il principio di località

A

> Nessuna delle altre opzioni è corretta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

20) Quale delle seguenti affermazioni sullo scambio messaggi per la gestione della concorrenza è vera?

> Nessuna delle altre opzioni è vera

> L’implementazione delle primitive per lo scambio messaggi non è garantita atomica dal sistema operativo

> Se un processo chiama receive, finché il messaggio non viene ricevuto, tutti gli altri processi che proveranno a chiamare receive verranno bloccati

> Per garantire la mutua esclusione, occorre ricorrere al busy waiting se sia invio che ricezione sono non bloccanti

A

> Per garantire la mutua esclusione, occorre ricorrere al busy waiting se sia invio che ricezione sono non bloccanti

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

21) Quali delle seguenti affermazioni sui file system è vera?

> I dati possono essere ricavati dai metadati

> I metadati possono essere ricavati dai dati

> I file system, che adottano il metodo journaling, mantengono un log per le operazioni di sola scrittura da effettuare, realizzandole in seguito

> Un volume coincide sempre con un disco, quindi se un computer ha 2 dischi avrà 2 volumi

A

> I file system, che adottano il metodo journaling, mantengono un log per le operazioni di sola scrittura da effettuare, realizzandole in seguito

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

22) Quale delle seguenti affermazioni sui dispositivi di I/O è vera?

> Nessuna delle altre opzioni è corretta

> Il data rate confronta le velocità di 2 diversi dispositivi di I/O

> Ciascun dispositivo di I/O può essere usato solo da un ben determinato tipo di applicazioni

> Tutti i dispositivi di I/O scambiano informazioni con la CPU in blocchi, per motivi di efficienza

A

> Nessuna delle altre opzioni è corretta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

23) Quale delle seguenti affermazioni sui metodi di gestione dello spazio libero su disco è vera?

> Se viene usata la lista di blocchi liberi, c’è un overhead di spazio, contrariamente alla concatenazione di blocchi liberi

> Nessuna delle altre opzioni è vera

> Se ci sono blocchi da 1kB, e il disco contiene 1TB, l’occupazione dovuta alla lista di blocchi liberi è dell’1%

> Se viene usata la lista di blocchi liberi, una parte viene memorizzata su disco ed una parte in memoria principale

A

> Se viene usata la lista di blocchi liberi, c’è un overhead di spazio, contrariamente alla concatenazione di blocchi liberi

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

24) Quale delle seguenti azioni va effettuata sia per un process switch che per un mode switch, assumendo di essere in un SO nel quale le funzioni di sistema sono eseguite all’interno dei processi utente?

> Salvataggio del contesto del programma

> Aggiornamento delle strutture dati per la gestione della memoria

> Spostamento del process control block nella coda appropriata (ready, blocked, ready/suspend)

> Scelta di un altro processo da eseguire

A

> Salvataggio del contesto del programma

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
25) Quale delle seguenti affermazioni è vera? > Nessuna delle altre opzioni è corretta > Nell'algoritmo di sostituzione basato su frequenza a 2 segmenti della page cache, un blocco passa da un segmento ad un altro esclusivamente per scorrimento > L'algoritmo di LFU della page cache ha buone performance quando un settore viene acceduto molto spesso in poco tempo, per poi non essere più usato > L'algoritmo di sostituzione basato su frequenza a 2 segmenti della page cache può non avere buone performance quando un settore viene acceduto spesso, ma tra il primo accesso e quelli successivi ci sono N accessi ad altri settori, diversi tra loro, con N pari alla dimensione del segmento nuovo
> Nell'algoritmo di sostituzione basato su frequenza a 2 segmenti della page cache, un blocco passa da un segmento ad un altro esclusivamente per scorrimento
26
26) Quale delle seguenti affermazioni sul kernel di un sistema operativo è vera? > È responsabile dell'accensione del computer > Viene swappato dal disco alla memoria principale ad ogni context switch > È responsabile, tra le altre cose, della gestione dei processori > Nessuna delle altre opzioni è corretta
> È responsabile, tra le altre cose, della gestione dei processori
27
27) Quale delle seguenti affermazioni sul controllo di accesso è vera? > Nel controllo di accesso basato su ruoli, ad ogni ruolo è assegnato un utente > Nessuna delle altre opzioni è vera > Nel controllo di accesso basato su ruoli, prima di stabilire se un'operazione è lecita, è necessario consultare una tabella soggetti-ruoli-oggetti > Nel controllo di accesso discrezionale, prima di stabilire se un'operazione è lecita, è necessario consultare una tabella soggetti-oggetti
> Nel controllo di accesso discrezionale, prima di stabilire se un'operazione è lecita, è necessario consultare una tabella soggetti-oggetti
28
28) Assumendo un sistema monoprocessore, quale delle seguenti affermazioni sulla preemption è vera? > Se uno scheduler è non-preemptive, permette sempre ai suoi processi di essere eseguiti sul processore, senza interruzioni, fino al loro completamento > Se uno scheduler è non-preemptive, è possibile che un processo monopolizzi il processore, anche in presenza di altri processi ready > Se uno scheduler è preemptive, non è possibile che un processo monopolizzi il processore, anche in presenza di altri processi ready > Per avere un trattamento equo sui processi, è sufficiente usare uno scheduler preemptive
> Se uno scheduler è non-preemptive, è possibile che un processo monopolizzi il processore, anche in presenza di altri processi ready
29
29) Assumendo un sistema monoprocessore, quale delle seguenti affermazioni sugli algoritmi di scheduling è vera? > Con lo scheduler Shortest Process Next, i processi con una grande immagine su RAM potrebbero soffrire di starvation > Lo scheduler round-robin virtuale migliora il round-robin classico, facendo sì che i processi I/O-bound non vengano sfavoriti > Lo scheduler First Come First Served "degenera" nello scheduler round-robin se il quanto di tempo è troppo lungo > Nessuna delle altre opzioni è vera
> Lo scheduler round-robin virtuale migliora il round-robin classico, facendo sì che i processi I/O-bound non vengano sfavoriti
30
30) Quale delle seguenti affermazioni sugli indirizzi di memoria principale è vera? > Un indirizzo fisico fa sempre riferimento alla memoria secondaria > Per rispettare il requisito di rilocazione, occorre trasformare indirizzi fisici in logici > Gli indirizzi relativi sono usati nella paginazione > Nessuna delle altre opzioni è corretta
> Gli indirizzi relativi sono usati nella paginazione
31
31) Quale delle seguenti affermazioni sui termini tipici della concorrenza è falsa? > Una sezione critica è una porzione di memoria che contiene almeno una variabile condivisa tra più processi > Una operazione atomica è una sequenza di istruzioni macchina tale che, se un processo la esegue, allora arriverà a termine senza interruzioni da altri processi > Il requisito di mutua esclusione prevede che un solo processo possa eseguire un certo segmento di codice o accedere ad una determinata risorsa > Una race condition è una violazione della mutua esclusione || È possibile che 2 distinti processi chiamino la stessa funzione atomica
> Una sezione critica è una porzione di memoria che contiene almeno una variabile condivisa tra più processi
32
32) Quale dei seguenti elementi fa parte del process control block? > Nessuna delle altre opzioni contiene elementi del process control block > Le informazioni sul contesto del processo, aggiornate ad ogni istruzione eseguita > L'intera immagine del processo in memoria > La tabella delle pagine di secondo livello
Nessuna delle altre opzioni contiene elementi del process control block
33
33) Quale delle seguenti informazioni non è presente in una tipica entry di una directory di un file system? > Il gruppo cui appartiene l'utente che ha creato il file > La data di creazione del file > Autorizzazioni per l'accesso al file > Dimensione del file
> Il gruppo cui appartiene l'utente che ha creato il file
34
34) Quale delle seguenti affermazioni sugli algoritmi di scheduling per i dischi è vera? > L'algoritmo random ha la stessa funzione dell'algoritmo ottimo dei rimpiazzamenti di pagina: ha delle prestazioni ottime non raggiungibili dagli altri algoritmi > Nessuna delle altre opzioni è corretta > L'algoritmo C-SCAN deriva da SCAN, ed è stato sviluppato per evitare di favorire le richieste di tracce ai bordi del disco > Per valutare le prestazioni dell'algoritmo con priorità è necessario fornire il ruolo dell'utente
> L'algoritmo C-SCAN deriva da SCAN, ed è stato sviluppato per evitare di favorire le richieste di tracce ai bordi del disco
35
35) Quale delle seguenti affermazioni sugli algoritmi di scheduling per i dischi è vera? > Nessuna delle altre opzioni è corretta > L'algoritmo C-SCAN deriva da SCAN, ed è stato sviluppato per evitare di favorire le richieste di tracce ai bordi del disco > Per valutare le prestazioni dell'algoritmo con priorità è sufficiente fornire il ruolo degli utenti dei processi che effettuano le richieste > L'algoritmo random ha la stessa funzione dell'algoritmo ottimo dei rimpiazzamenti di pagina: ha delle prestazioni ottime non raggiungibili dagli altri algoritmi
> L'algoritmo C-SCAN deriva da SCAN, ed è stato sviluppato per evitare di favorire le richieste di tracce ai bordi del disco
36
36) Quale delle seguenti affermazioni sul metodo di allocazione contigua dei file è vera? > È possibile che ci sia frammentazione interna > La compattazione permette di memorizzare file che altrimenti non potrebbero esserlo (pur essendo la loro dimensione minore di quella dello spazio libero) > Non è necessaria la preallocazione > La tabella di allocazione dei file necessita di memorizzare, per ogni file, il solo blocco di partenza
> La compattazione permette di memorizzare file che altrimenti non potrebbero esserlo (pur essendo la loro dimensione minore di quella dello spazio libero)
37
37) Quale delle seguenti affermazioni sulla paginazione della memoria è vera? > Frame e pagine devono avere la stessa dimensione > Tutte le pagine di un processo dovranno essere, prima o poi, posizionate in un frame > Nessuna delle altre opzioni è corretta > Soffre del problema della frammentazione interna, e quindi necessita compattazione
> Frame e pagine devono avere la stessa dimensione
38
37) Quale delle seguenti affermazioni sulla paginazione della memoria è vera? > Tutte le pagine di un processo dovranno essere, prima o poi, posizionate in un frame > Nessuna delle altre opzioni è corretta > Frame e pagine devono avere la stessa dimensione > Soffre del problema della frammentazione interna, e quindi necessita compattazione
> Frame e pagine devono avere la stessa dimensione
39
38) Quale delle seguenti affermazioni sul controllo di accesso è vera? > Nel controllo di accesso basato su ruoli, ad ogni ruolo è assegnato un utente > Nel controllo di accesso basato su ruoli, prima di stabilire se un'operazione è lecita, è necessario consultare una tabella soggetti-ruoli-oggetti > Nel controllo di accesso discrezionale, prima di stabilire se un'operazione è lecita, è necessario consultare una tabella soggetti-oggetti > Nessuna delle altre opzioni è vera
> Nel controllo di accesso discrezionale, prima di stabilire se un'operazione è lecita, è necessario consultare una tabella soggetti-oggetti
40
39) Quale delle seguenti affermazioni è falsa? > Nel caso delle risorse riusabili, in un grafo dell'allocazione delle risorse ci possono essere più archi tra lo stesso nodo-processo e lo stesso nodo-risorsa > Nel caso delle risorse riusabili, in un grafo dell'allocazione delle risorse ci possono essere archi sia da nodi-processi a nodi-risorse che viceversa > Un grafo dell'allocazione delle risorse è un grafo diretto aciclico > In un grafo dell'allocazione delle risorse, all'interno di un nodo rappresentante una risorsa, c'è un pallino per ogni istanza di quella risorsa
> Un grafo dell'allocazione delle risorse è un grafo diretto aciclico
41
40) Quali delle seguenti affermazioni è vera? > La confidenzialità di un sistema operativo consiste nel fatto che la shell del sistema operativo deve essere intuitiva e dare del tu agli utenti > La disponibilità (availability) di un sistema operativo consiste nel fatto che il sistema operativo deve essere sempre pronto a rispondere alle richieste di un utente > La disponibilità (availability) di un sistema operativo consiste nel fatto che devono esistere delle repository online che permettano sia di installare che di aggiornare il sistema operativo > La confidenzialità di un sistema operativo consiste nel fatto che il sistema operativo deve essere sempre pronto a rispondere alle richieste di un utente
> La disponibilità (availability) di un sistema operativo consiste nel fatto che il sistema operativo deve essere sempre pronto a rispondere alle richieste di un utente
42
41) Quale delle seguenti affermazioni sulla memoria virtuale con paginazione è vera? > Il difetto principale del prepaging è che potrebbe portare in memoria pagine cui poi non si fa riferimento > Nessuna delle altre opzioni è corretta > Il difetto principale del paging on demand è che, dopo una prima fase di assestamento, causa molti page fault > Placement policy e replacement policy sono sinonimi ed indicano lo stesso insieme di metodologie
> Il difetto principale del prepaging è che potrebbe portare in memoria pagine cui poi non si fa riferimento
43
42) Quale delle seguenti affermazioni sui dispositivi di memoria di massa è vera? > Nessuna delle altre opzioni è corretta > Un settore di un disco magnetico a testina mobile è l'area di una corona circolare del disco stesso > Una traccia di un disco magnetico a testina mobile è l'area compresa da 2 raggi del disco stesso > Per selezionare un settore su una traccia di un disco magnetico a testina mobile, è sufficiente posizionare la testina sulla giusta traccia
> Nessuna delle altre opzioni è corretta
44
43) Quale delle seguenti affermazioni sul process control block è vera? > Viene salvato nella memoria utente assegnata al processo cui si riferisce > Contiene tutte le informazioni sui thread del processo cui si riferisce > Per i processi in modalità blocked, tutte le informazioni che contiene sono cancellate > Nessuna delle altre opzioni è vera
> Nessuna delle altre opzioni è vera
45
44) Quale delle seguenti affermazioni sui semafori per la gestione della concorrenza è falsa? > Semafori generali e semafori binari hanno lo stesso potere computazionale (ovvero, permettono di risolvere gli stessi problemi) > Le primitive sui semafori sono in grado di mettere un processo in blocked, senza usare, a tal proposito, il busy-waiting > Per implementare le primitive sui semafori, servono un contatore ed una coda, che saranno condivisi da tutti i semafori usati > L'implementazione delle primitive sui semafori è garantita atomica dal sistema operativo
> Per implementare le primitive sui semafori, servono un contatore ed una coda, che saranno condivisi da tutti i semafori usati
46
45) Quale delle seguenti affermazioni sugli algoritmi di scheduling per i dischi è falsa? > Nell'algoritmo F-SCAN, immediatamente prima che vengano scambiati i contenuti delle code F ed R, la coda F è vuota, mentre la coda R contiene le richieste arrivate mentre si servivano le richieste dentro F > L'algoritmo Minimum Service Time può portare alla starvation di un processo, che non verrà quindi mai selezionato, se la richiesta era bloccante, per andare in esecuzione sul processore > L'algoritmo LIFO è il più equo nei confronti dei processi che effettuano le richieste al disco > Gli algoritmi Minimum Service Time, SCAN, C-SCAN, N-steps-SCAN ed F-SCAN non sono ottimizzati per essere usati su dischi con testine multiple selezionabili elettronicamente
> L'algoritmo LIFO è il più equo nei confronti dei processi che effettuano le richieste al disco
47
46) Quale delle seguenti affermazioni sui meccanismi per la gestione della concorrenza è vera? > Senza usare né semafori, né scambio messaggi, né istruzioni macchina atomiche, è possibile scrivere processi che non soffrano di starvation per garantire la mutua esclusione tra 2 processi > Disabilitando gli interrupt, è possibile scrivere processi che non soffrano di starvation > Usando i semafori di qualsiasi tipo, è possibile scrivere processi che non soffrano di starvation > Usando le istruzioni macchina exchange e compare_and_swap, è possibile scrivere processi che non soffrano di starvation
> Senza usare né semafori, né scambio messaggi, né istruzioni macchina atomiche, è possibile scrivere processi che non soffrano di starvation per garantire la mutua esclusione tra 2 processi
48
47) Assumendo un sistema monoprocessore, quale delle seguenti affermazioni sul long-term scheduler è falsa? > Decide quali processi, tra quelli appena creati, possono essere ammessi in memoria principale per l'esecuzione > Avendo le necessarie informazioni, una tipica strategia è mantenere una giusta proporzione, stabilita a priori, tra processi I/O-bound e CPU-bound > Viene chiamato in causa esclusivamente quando viene creato un nuovo processo > Avendo le necessarie informazioni, una tipica strategia è ammettere in memoria principale i processi che richiedono dispositivi di I/O diversi da quelli richiesti dai processi già attivi
> Viene chiamato in causa esclusivamente quando viene creato un nuovo processo
49
48) Quale delle seguenti affermazioni sui metodi di gestione dello spazio libero su disco è vera? > Se ci sono blocchi da 1kB, e il disco contiene 1TB, l'occupazione dovuta alla lista di blocchi liberi è dell'1% > Se viene usata la lista di blocchi liberi, tale lista viene interamente mantenuta in memoria principale > Nessuna delle altre opzioni è vera > Se viene usata la lista di blocchi liberi, c'è un overhead di spazio, contrariamente alla concatenazione di blocchi liberi
> Se viene usata la lista di blocchi liberi, c'è un overhead di spazio, contrariamente alla concatenazione di blocchi liberi
50
49) Quale delle seguenti affermazioni sulle directory di un file system è vera? > È sempre necessario identificare un file di un file system fornendone il path relativo alla directory corrente > È sempre possibile dare lo stesso nome a file diversi > Nessuna delle altre opzioni è vera > È sempre necessario identificare un file di un file system fornendone il path assoluto
> Nessuna delle altre opzioni è vera
51
50) Quale delle seguenti affermazioni sulla memoria cache è vera? > La memoria cache è direttamente indirizzabile in assembler > Nessuna delle altre opzioni è corretta > È possibile che, in un dato istante, la cache e la memoria RAM non siano coerenti tra loro > L'algoritmo di rimpiazzamento per la cache stabilisce quale blocco di RAM deve essere sostituito da un blocco di cache
> È possibile che, in un dato istante, la cache e la memoria RAM non siano coerenti tra loro
52
51) Quale delle seguenti affermazioni sui problemi dei produttori/consumatori e dei lettori/scrittori, nelle accezioni viste a lezione, è vera? > Per il problema dei produttori/consumatori, non deve essere mai possibile che più consumatori accedano contemporaneamente al buffer, mentre nel problema dei lettori/scrittori deve sempre possibile che più lettori, in assenza di scrittori, accedano all'area di memoria > Per il problema dei produttori/consumatori, non deve essere mai possibile che più produttori accedano contemporaneamente al buffer, mentre nel problema dei lettori/scrittori deve essere sempre possibile che più scrittori (in assenza di lettori) accedano all'area di memoria > Nessuna delle altre opzioni è corretta > Per il problema dei produttori/consumatori, deve essere sempre possibile che più consumatori accedano contemporaneamente al buffer, mentre nel problema dei lettori/scrittori non deve essere mai possibile che più scrittori accedano all'area di memoria
> Per il problema dei produttori/consumatori, non deve essere mai possibile che più consumatori accedano contemporaneamente al buffer, mentre nel problema dei lettori/scrittori deve sempre possibile che più lettori, in assenza di scrittori, accedano all'area di memoria
53
52) Quale delle seguenti affermazioni, riguardanti il joint progress diagram di 2 processi, è vera? > Può essere usato per determinare quando uno dei due processi sperimenta un page fault > Può essere usato per visualizzare le possibilità di deadlock, ma solo se i processi richiedono al massimo 2 risorse > Nessuna delle altre opzioni è vera[c] > Può essere usato per determinare quando uno dei due processi manda un segnale all'altro
> Nessuna delle altre opzioni è vera nota: Il joint progress diagram non determina quando si sperimenta un page fault. La risposta corretta è questa
54
53) Quale delle seguenti affermazioni sui (vecchi) metodi per il partizionamento della memoria è vera? > Con il partizionamento fisso, le partizioni devono avere tutte la stessa dimensione > Con il buddy system, ogni indirizzo di memoria può ricadere in 2 porzioni > Con il partizionamento fisso, ci possono essere al massimo N processi attivi (ovvero, accettati per l'esecuzione), dove N è il numero di partizioni[d] > Con il partizionamento dinamico, si manifesta il problema della frammentazione esterna
> Con il partizionamento dinamico, si manifesta il problema della frammentazione esterna
55
54) Assumendo un sistema monoprocessore, quale delle seguenti affermazioni sulla preemption è vera? > Se uno scheduler è preemptive e vi è più di 1 processo ready, non è possibile che un processo monopolizzi il processore > Per avere un trattamento equo sui processi, è sufficiente usare uno scheduler preemptive > Se uno scheduler è non-preemptive, permette sempre ai suoi processi di essere eseguiti senza interruzioni sul processore fino al loro completamento > Se uno scheduler è non-preemptive, è possibile che un processo monopolizzi il processore, anche in presenza di altri processi ready
> Se uno scheduler è non-preemptive, è possibile che un processo monopolizzi il processore, anche in presenza di altri processi ready
56
55) Nel modello dei processi a 5 stati, quali delle seguenti transizioni non è possibile? > Blocked ==> Running > Running ==> Ready > Blocked ==> Exit > Blocked ==> Ready
> Blocked ==> Running
57
56) Quale delle seguenti affermazioni sul metodo di allocazione indicizzata dei file è vera? > Il consolidamento permette sempre di ridurre la dimensione dell'indice > Se usato con porzioni di dimensione variabile, i blocchi indice devono contenere anche la lunghezza di ogni porzione > Nessuna delle altre opzioni è vera > Non c'è modo per il sistema operativo di distinguere tra blocchi con dati e blocchi con indici
> Se usato con porzioni di dimensione variabile, i blocchi indice devono contenere anche la lunghezza di ogni porzione
58
57) Quale delle seguenti affermazioni sul requisito di rilocazione nella gestione della memoria è vera? > Nessuna delle altre opzioni è corretta > Se viene realizzato tramite sostituzione degli indirizzi nel programma sorgente (al momento della creazione del processo), allora il relativo processo dovrà cominciare sempre allo stesso indirizzo; tale indirizzo dovrà essere uguale per tutti i processi > Se viene realizzato tramite sostituzione degli indirizzi nel programma sorgente (al momento della creazione del processo), allora il relativo processo potrà trovarsi in diverse posizioni della memoria in diversi momenti del sua esecuzione > Se viene realizzato tramite sostituzione degli indirizzi nel programma sorgente (al momento della creazione del processo), serve hardware speciale
> Nessuna delle altre opzioni è corretta
59
58) Assumendo un sistema monoprocessore, quale delle seguenti affermazioni sulla preemption è vera? > Se uno scheduler è non-preemptive, permette sempre ai suoi processi di essere eseguiti sul processore, senza interruzioni, fino al loro completamento > Se uno scheduler è non-preemptive, è possibile che un processo monopolizzi il processore, anche in presenza di altri processi ready > Se uno scheduler è preemptive, non è possibile che un processo monopolizzi il processore, anche in presenza di altri processi ready > Per avere un trattamento equo sui processi, è sufficiente usare uno scheduler preemptive
> Se uno scheduler è non-preemptive, è possibile che un processo monopolizzi il processore, anche in presenza di altri processi ready
60
59) Quale dei seguenti requisiti deve soddisfare un meccanismo che offra la mutua esclusione? >Non deve essere fatta alcuna assunzione sulla velocità di esecuzione dei processi coinvolti[e] >Se un processo non fa richiesta di entrare nella sezione critica, deve comunque sincronizzarsi all'esecuzione degli altri processi >Se un processo è nella sezione critica, occorre che rilasci subito la sezione critica stessa >Se un processo fa richiesta di entrare nella sezione critica, deve poter entrare subito nella sezione critica stessa
>Non deve essere fatta alcuna assunzione sulla velocità di esecuzione dei processi coinvolti[e]
61
60) Assumendo un sistema monoprocessore, quale delle seguenti affermazioni sul dispatcher è falsa? >Il resource balancing è un criterio di sistema non prestazionale >Il rispetto delle deadline è un criterio utente prestazionale >Il throughput è un criterio di sistema prestazionale >La predictability è un criterio utente prestazionale
>La predictability è un criterio utente prestazionale
62
61) Quale delle seguenti affermazioni sugli interrupt (o eccezioni) è falsa? >Devono essere gestiti da opportuno software di sistema >Una volta gestito l'interrupt o l'eccezione, quando (e se) si torna ad eseguire il processo interrotto, l'esecuzione ripartirà sempre dall'istruzione successiva a quella dove è stato ricevuto l'interrupt o l'eccezione >Normalmente, non vengono gestiti dal programmatore dell'applicazione che li ha causati >Possono essere creati direttamente dai dispositivi di I/O
>Una volta gestito l'interrupt o l'eccezione, quando (e se) si torna ad eseguire il processo interrotto, l'esecuzione ripartirà sempre dall'istruzione successiva a quella dove è stato ricevuto l'interrupt o l'eccezione
63
62) Quale delle seguenti affermazioni sulle istruzioni macchina speciali per la gestione della concorrenza è vera? >Sono basate sul busy-waiting, ovvero sul fatto che un processo si mette autonomamente in stato blocked >Nessuna delle altre opzioni è vera >Non riescono ad evitare il manifestarsi del deadlock, a meno che non sia presente un sistema a priorità >Come per la disabilitazione delle interruzioni, non funzionano per architetture con più processori o core
>Nessuna delle altre opzioni è vera
64
63) Quale delle seguenti affermazioni sui processi è vera? >Nessuna delle altre opzioni è vera >Per la terminazione normale di un processo, è tipicamente prevista un'apposita system call, come ad esempio exit >Un processo può morire quando si effettua il process spawning >Un processo può essere creato dal modulo di gestione della memoria per gestire la traduzione da indirizzi virtuali a fisici
>Per la terminazione normale di un processo, è tipicamente prevista un'apposita system call, come ad esempio exit
65
64) Quale delle seguenti affermazioni sui meccanismi software per la gestione della concorrenza è vera? >Sia l'algoritmo di Dekker che quello di Peterson possono mettere in blocked uno dei 2 processi, quando ciò si rivela necessario >Sia l'algoritmo di Dekker che quello di Peterson non funzionano se l'hardware sottostante riordina gli accessi in memoria >Nell'algoritmo di Peterson, se la variabile turn è inizializzata ad 1, allora il processo 1 sarà sicuramente il primo ad entrare nella sezione critica nella prima iterazione >Nell'algoritmo di Dekker, se la variabile turn è inizializzata ad 1, allora il processo 1 sarà sicuramente il primo ad entrare nella sezione critica nella prima iterazione
>Sia l'algoritmo di Dekker che quello di Peterson non funzionano se l'hardware sottostante riordina gli accessi in memoria
66
65) Quale delle seguenti affermazioni sugli i-node di Unix è falsa? >Ogni directory è identificata da un i-node >Per modificare una directory, un utente deve aprire il file speciale corrispondente e poi modificarlo opportunamente >Ogni directory è un file speciale, organizzato come una lista di entry, ciascuna delle quali contiene il nome di un file ed il relativo i-node number >Ogni directory può contenere molti i-node
>Per modificare una directory, un utente deve aprire il file speciale corrispondente e poi modificarlo opportunamente
67
66) Quale delle seguenti affermazioni è falsa? >Nel caso di un sistema operativo a kernel separato, la gestione dei process switch è a sua volta un processo >Nel caso di un sistema operativo in cui le funzioni del sistema operativo vengono eseguite all'interno dei processi utente, non c'è bisogno di un process switch per eseguire una funzionalità del sistema operativo >Nel caso di un sistema operativo in cui le funzioni del sistema operativo vengono eseguite all'interno dei processi utente, se un processo effettua una syscall e poi può continuare ad essere eseguito, non avviene alcun process switch >Nel caso di un sistema operativo in cui le funzioni del sistema operativo vengono eseguite come processi separati, c'è sempre bisogno di un process switch per eseguire una funzionalità del sistema operativo
>Nel caso di un sistema operativo a kernel separato, la gestione dei process switch è a sua volta un processo
68
68) Quale delle seguenti affermazioni sul metodo di allocazione concatenata dei file è vera? >Il consolidamento permette di memorizzare file che altrimenti non potrebbero esserlo (pur essendo la loro dimensione minore di quella dello spazio libero) >La tabella di allocazione dei file deve contenere l'intera catena >Nessuna delle altre opzioni è vera >Viene usato con porzioni di dimensione variabile, ma piccola
>Nessuna delle altre opzioni è vera
69
69) Quale delle seguenti affermazioni sulla memoria virtuale con paginazione è vera? >Nel caso di una tabella delle pagine a 2 livelli, viene tipicamente richiesto che tutte le tabelle delle pagine di secondo livello entrino in una pagina >Il numero di bit di un indirizzo virtuale è necessariamente diverso a seconda che si usi una tabella delle pagine ad 1 o a 2 livelli >Il numero di bit di una entry di una tabella delle pagine di ultimo livello è uguale al numero di bit di controllo più il logaritmo (arrotondato all'intero superiore) del massimo numero di frame in memoria principale >Nessuna delle altre opzioni è corretta
>Il numero di bit di una entry di una tabella delle pagine di ultimo livello è uguale al numero di bit di controllo più il logaritmo (arrotondato all'intero superiore) del massimo numero di frame in memoria principale
70
70) Quale delle seguenti affermazioni sul deadlock è falsa? >Affinchè ci sia un deadlock, sono necessarie le condizioni di attesa circolare, hold-and-wait, mutua esclusione e no preemption >Per prevenire il deadlock, è necessario cercare di impedire almeno una delle 3 condizioni di mutua esclusione, hold-and-wait e no preemption >Affinchè il deadlock sia possibile, sono necessarie le condizioni di mutua esclusione, hold-and-wait e no preemption >Per prevenire il deadlock impedendo l'hold-and-wait, si può in alcuni casi imporre ai processi di richiedere tutte le risorse fin dall'inizio
>Affinchè ci sia un deadlock, sono necessarie le condizioni di attesa circolare, hold-and-wait, mutua esclusione e no preemption
71
71) Quale delle seguenti affermazioni è vera? >La modalità di un processo utente è sempre la modalità di sistema >La modalità di un processo utente è inizialmente la modalità utente; può diventare modalità sistema nel momento in cui va in esecuzione il dispatcher >Nessuna delle altre opzioni è vera >La modalità di un processo utente è sempre la modalità utente
>Nessuna delle altre opzioni è vera
72
72) Quale delle seguenti affermazioni sulla memoria virtuale con paginazione è vera? >Nessuna delle altre opzioni è corretta >Per ogni processo, il resident set contiene lo stesso numero di pagine >Un tipico algoritmo per il replacement scope è quello dell'orologio[p][q] >La gestione del resident set tramite politica dinamica mira ad ampliare il numero di pagine di un processo durante l'esecuzione del processo stesso
>Nessuna delle altre opzioni è corretta
73
73) Si consideri il seguente modo di implementare la mutua esclusione: ``` int bolt = 1; void P(int i) { while(true) { while (compare_and_swap(bolt, 1, 0) == 0) ; critical_section(); bolt = 1; } } ``` Quale delle seguenti affermazioni è vera? >Nessuna delle altre opzioni è vera >La soluzione implementa correttamente la mutua esclusione solo se si disabilitano le interruzioni prima di chiamare P >La soluzione non implementa correttamente la mutua esclusione perché bisogna chiamare exchange invece di compare_and_swap >La soluzione non implementa correttamente la mutua esclusione
[non sicura] | >Nessuna delle altre opzioni è vera
74
67) Quale delle seguenti affermazioni sulla paginazione della memoria è vera? >La differenza tra paginazione semplice e paginazione con memoria virtuale è che nella seconda viene richiesto che tutte le pagine di un processo siano in memoria principale, affinché il processo stesso possa essere eseguito >Con la paginazione con memoria virtuale, una sola pagina di ogni processo ready o in esecuzione è inizialmente caricata in memoria principale >La differenza tra paginazione semplice e paginazione con memoria virtuale è che nella prima viene richiesto che tutte le pagine di un processo siano in memoria principale, affinché il processo stesso possa essere eseguito[f][g][h][i][j][k][l][m][n][o] >Nessuna delle altre opzioni è vera
[non sicura] | >Nessuna delle altre opzioni è vera
75
74) Quale delle seguenti affermazioni sulla concorrenza tra processi o thread è vera? >L'istruzione exchange non può ricevere costanti in input su nessun suo argomento, mentre per l'istruzione compare_and_swap questo non vale >Le istruzioni speciali exchange e compare_and_swap sono garantite atomiche dal sistema operativo >Per realizzare opportunamente l'istruzione compare_and_swap è sufficiente disabilitare le interruzioni >Nessuna delle altre opzioni è vera
>L'istruzione exchange non può ricevere costanti in input su nessun suo argomento, mentre per l'istruzione compare_and_swap questo non vale
76
75) Assumendo un sistema monoprocessore, quale delle seguenti affermazioni sul dispatcher è falsa? >Il response time è un criterio utente prestazionale >Il turnaround time (normalizzato o no) è un criterio utente prestazionale >Il throughput è un criterio di sistema non prestazionale >La fairness è un criterio di sistema non prestazionale
>Il response time è un criterio utente prestazionale
77
76) Quale delle seguenti affermazioni sul file system FAT è vera? >Usa il metodo di allocazione contiguo >Ogni cluster del disco contiene sia dati del disco che l'indirizzo del prossimo cluster (o l'indicazione che si tratta dell'ultimo cluster) >La tabella di allocazione dei file contiene tante righe quanti sono i file memorizzati sul disco, più una riga speciale per i blocchi liberi >Nessuna delle altre opzioni è vera
>Nessuna delle altre opzioni è vera
78
77) Quale delle seguenti affermazioni sulla memoria virtuale con paginazione è falsa? >Il translation lookaside buffer, su alcuni processori, contiene un campo per il PID dei processi[r] >Il translation lookaside buffer funziona correttamente solo se tutti i frame validi contenuti al suo interno fanno riferimento a pagine effettivamente in RAM, e non swappate su disco[s] >Il mapping associativo permette al translation lookaside buffer di trovare una data pagina semplicemente sommando il numero della pagina con l'indirizzo di partenza del translation lookaside buffer stesso >Quando un indirizzo viene trovato nel translation lookaside buffer, non è necessario consultare la normale tabella delle pagine[t]
[non sicura] >Il mapping associativo permette al translation lookaside buffer di trovare una data pagina semplicemente sommando il numero della pagina con l'indirizzo di partenza del translation lookaside buffer stesso
79
78) Quale dei seguenti elementi non è una delle parti che definiscono un processo? >Il contatore di programma >La priorità >I dati contenuti nella porzione di memoria a lui dedicata >Informazioni sullo stato delle risorse
>Informazioni sullo stato delle risorse
80
79) Quale delle seguenti affermazioni, riguardanti la classificazione delle risorse di un sistema operativo e la loro relazione con il deadlock, è vera? >Nel caso delle risorse consumabili, se c'è un deadlock allora è stata richiesta almeno una risorsa già detenuta da un altro processo >Nel caso delle risorse consumabili, se c'è un deadlock allora c'è una successione circolare di processi, ciascuno dei quali richiede una risorsa al processo successivo, che però la deve ancora creare >Nel caso delle risorse riusabili, se c'è un deadlock allora è stata richiesta almeno una risorsa non ancora creata >Nel caso delle risorse riusabili, se c'è un deadlock allora c'è una successione circolare di processi, ciascuno dei quali richiede una risorsa al processo successivo, che però la deve ancora creare
>Nel caso delle risorse consumabili, se c'è un deadlock allora c'è una successione circolare di processi, ciascuno dei quali richiede una risorsa al processo successivo, che però la deve ancora creare
81
80) Si supponga che ci siano N processi attivi, giostrati da uno scheduler round-robin su un sistema monoprocessore. Quale delle seguenti affermazioni è vera? >Dal punto di vista del processore, ogni processo esegue sempre le proprie istruzioni senza interruzioni >Per realizzare correttamente un process switch, il SO avrà necessità di usare le informazioni sul contesto contenute nel process control block >Dal punto di vista di ogni processo[u][v], l'esecuzione avviene in interleaving con gli altri processi >Nessuna delle altre opzioni è vera
[non sicura] >Per realizzare correttamente un process switch, il SO avrà necessità di usare le informazioni sul contesto contenute nel process control block
82
81) Quale delle seguenti affermazioni sulla traduzione di un indirizzo virtuale in fisico, in un sistema con memoria virtuale con paginazione (avente tabella delle pagine ad 1 livello), è falsa? >L'hardware deve anche cercare il numero di pagina nelle entries della tabella delle pagine del processo in esecuzione. >L'hardware deve anche estrarre dall'indirizzo virtuale il numero di pagina virtuale; tale operazione è equivalente ad una divisione intera >L'hardware deve anche usare il numero di pagina per accedere alla tabella delle pagine del processo in esecuzione. A tal proposito, deve conoscere l'inizio di tale tabella, che viene definito dal software (sistema operativo). Tale indirizzo può cambiare durante l'esecuzione del processo: sta al sistema operativo mantenerlo aggiornato >L'hardware deve anche usare il numero di frame ottenuto dalla tabella delle pagine per comporre, insieme con l'offset originale, l'indirizzo fisico. Tale operazione è equivalente ad uno shift seguito da una somma
>L'hardware deve anche cercare il numero di pagina nelle entries della tabella delle pagine del processo in esecuzione.
83
82) Quale delle seguenti operazioni non è tipicamente effettuata su un file? >Apertura >Connessione >Posizionamento (seek) >Lock/Unlock
>Connessione
84
83) Quale delle seguenti affermazioni è falsa? >Diversi thread di uno stesso processo condividono lo stesso thread identifier >Tra le funzioni di sistema per i thread, è tipicamente prevista una funzione per bloccare e sbloccare esplicitamente i thread stessi >Diversi thread di uno stesso processo condividono lo stesso process identifier >Diversi thread di uno stesso processo condividono i file aperti
>Diversi thread di uno stesso processo condividono lo stesso thread identifier
85
84) Quale delle seguenti affermazioni sulla page cache è falsa? >Nell'algoritmo di sostituzione basato su frequenza a 3 segmenti della page cache, i contatori vengono sempre incrementati, tranne quando sono nel segmento vecchio >Nell'algoritmo di sostituzione basato su frequenza a 3 segmenti della page cache, i settori che possono essere sostituiti sono solo quelli del segmento vecchio >Nell'algoritmo di sostituzione basato su frequenza a 3 segmenti della page cache, l'unico segmento in cui i contatori non vengono incrementati e i settori non possono essere sostituti è quello nuovo >L'algoritmo di sostituzione basato su frequenza a 3 segmenti della page cache può avere buone performance anche quando dei settori vengono acceduti spesso, ma tra il primo accesso e quelli successivi ci sono molti altri accessi ad altri settori
>Nell'algoritmo di sostituzione basato su frequenza a 3 segmenti della page cache, i contatori vengono sempre incrementati, tranne quando sono nel segmento vecchio
86
85) Quali delle seguenti affermazioni sulla efficienza di un sistema operativo è falsa? >Deve minimizzare il tempo di risposta, tenendo presenti eventuali priorità >Deve servire il maggior numero di utenti possibile, tenendo presenti eventuali livelli di accesso >Deve dare accesso alle risorse in modo equo ed egualitario tra tutti i processi >Deve massimizzare l'uso delle risorse per unità di tempo, tenendo presenti eventuali priorità
>Deve dare accesso alle risorse in modo equo ed egualitario tra tutti i processi
87
86[w]) Un computer esegue 20 istruzioni ogni microsecondo. Ricordando che 1 millisecondo = 1000 microsecondi = 1000000 nanosecondi, per eseguire una singola istruzione impiega: >0.05 microsecondi[x][y] >0.05 millisecondi >0.05 nanosecondi >Nessuna delle altre opzioni è corretta
>0.05 microsecondi[x][y] | [non sicura]
88
87) Quale delle seguenti affermazioni sui metodi di gestione dello spazio libero su disco è vera? >Uno dei possibili metodi è quello di scorrere la tabella di allocazione dei file e ricavare per esclusione i blocchi liberi >Nel caso si usi un metodo di allocazione dinamica, non è necessario aggiornare le informazioni sullo spazio libero quando vengono aggiunti dati ad un file >Se viene usata una tabella di bit, allora il metodo di allocazione non può essere la preallocazione >Nessuna delle altre opzioni è vera
[non sicura] | >Nessuna delle altre opzioni è vera
89
88) Quale delle seguenti affermazioni sui metodi di gestione del deadlock è vera? >Nessuna delle altre opzioni è vera >L'unico metodo, che richiede di conoscere in anticipo il massimo numero di risorse che un processo dovrà chiedere, è quello per rilevare il deadlock >Il metodo più permissivo nei confronti delle richieste di risorse è quello che consiste nel prevenire il deadlock >L'unico metodo che non prevede mai la preemption delle risorse è quello che evita il deadlock
>Nessuna delle altre opzioni è vera
90
89) Assumendo un sistema monoprocessore, quale delle seguenti affermazioni è falsa? >Lo scheduler ha, tra i suoi obiettivi, quello dell'equità tra i processi, a meno che non siano definite delle priorità >Lo scheduler va scritto in modo che il suo overhead sia basso >Lo scheduler ha, tra i suoi obiettivi, quello di evitare il deadlock >Lo scheduler ha, tra i suoi obiettivi, quello di massimizzare il volume di lavoro dei processi nel tempo
>Lo scheduler ha, tra i suoi obiettivi, quello di evitare il deadlock
91
90) Quale delle seguenti affermazioni sugli scheduler per architetture multiprocessore è vera? >Con l'assegnamento statico, si dà un processore a caso tra quelli liberi ai processi che mantengono un uso della RAM pressoché costante >Assegnando i processi del sistema operativo con l'assegnamento dinamico, si rischia di creare un bottleneck su un solo processore >Uno svantaggio dell'assegnamento statico è il suo overhead maggiore rispetto a quello dinamico >Nessuna delle altre opzioni è vera
>Nessuna delle altre opzioni è vera
92
91) Quale delle seguenti affermazioni sull'algoritmo del banchiere per evitare il deadlock visto a lezione è falsa? >La matrice C - A può contenere elementi negativi, ma le matrici C ed A contengono solo elementi non negativi >Richiede in input, per ogni processo p e per ogni risorsa r, il numero massimo di istanze di r che p chiederà nel corso della sua esecuzione >All'inizio e alla fine di ogni invocazione dell'algoritmo, Vi = Ri - ∑j = 1, ..., nAi, j >Se si procede da uno stato ad un altro, necessariamente è stata fatta almeno una richiesta ad almeno una risorsa da parte di almeno un processo
>La matrice C - A può contenere elementi negativi, ma le matrici C ed A contengono solo elementi non negativi
93
92) Assumendo un sistema monoprocessore, quale delle seguenti affermazioni sul dispatcher è falsa? >Il throughput è definito come il numero di processi completati per unità di tempo >Il turnaround time è definito, per un dato processo, come il tempo che intercorre tra la sua prima esecuzione sul processore e il suo completamento >Un dispatcher con buone prestazioni sul response time deve tipicamente sia minimizzare il valore medio di sistema del response time, sia massimizzare il numero di utenti con un basso valore per il response time >Il processor utilization è definito come il rapporto tra il tempo in cui il processore viene usato ed il tempo totoale del sistema
>Il turnaround time è definito, per un dato processo, come il tempo che intercorre tra la sua prima esecuzione sul processore e il suo completamento
94
93) Quale delle seguenti affermazioni sugli i-node di Unix è vera? >Per ogni file-system su disco organizzato con i-node, tutti gli i-node di tutti i file su tale file-system sono memorizzati esclusivamente su disco >I puntatori a tripla indirezione di un i-node vengono usati solo se la dimensione del file lo richiede >Nessuna delle altre opzioni è vera >Ad ogni file effettivamente memorizzato su disco può essere associato un solo numero di i-node
>I puntatori a tripla indirezione di un i-node vengono usati solo se la dimensione del file lo richiede
95
94) Quale delle seguenti affermazioni sul modello dei processi a 7 stati è vera? > Nessuna delle altre opzioni è vera > Gli stati Ready, New e Blocked del modello a 5 stati vengono sdoppiati, e ne viene creata una versione Suspend > Un processo è Suspend quando scade il timeout del dispatcher > È possibile la transizione Ready/Suspend ==> Blocked/Suspend
> Nessuna delle altre opzioni è vera
96
95) Quale delle seguenti affermazioni sui dischi magnetici a testina mobile è vera? > Per selezionare un settore su una traccia di un disco magnetico a testina mobile, bisogna prima far ruotare il disco fino ad arrivare alla giusta traccia, e poi posizionare la testina sul giusto settore > Una traccia di un disco è l'area compresa tra 2 raggi del disco stesso > Il tempo di accesso ad un disco magnetico a testina mobile tiene conto sia del tempo che occorre per posizionare la testina che del tempo che occorre per far ruotare il disco, ma non del tempo che occorre per effettuare effettivamente il trasferimento di dati > Nessuna delle altre opzioni è corretta
> Il tempo di accesso ad un disco magnetico a testina mobile tiene conto sia del tempo che occorre per posizionare la testina che del tempo che occorre per far ruotare il disco, ma non del tempo che occorre per effettuare effettivamente il trasferimento di dati
97
96) Riguardo alle differenze tra sistemi batch e sistemi time sharing (degli anni 60/70), quale delle seguenti affermazioni è falsa? > I sistemi time-sharing puntavano a minimizzare l'uso del processore > Nei sistemi time-sharing, le direttive al sistema operativo arrivavano dai comandi digitati su terminali > Nei sistemi batch, le direttive al sistema operativo arrivavano dai comandi del job control language, che erano non-interattivi > I sistemi batch puntavano a massimizzare l'uso del processore
[no sicura] | > I sistemi time-sharing puntavano a minimizzare l'uso del processore
98
97) Quale delle seguenti affermazioni sui requisiti per la gestione della memoria è falsa? > Il requisito di condivisione prevede che 2 o più processi possano condividere una zona di memoria concordata tra i processi stessi > Il requisito dell'organizzazione fisica prevede che sia il sistema operativo a gestire il caricamento dei processi da memoria secondaria a principale e viceversa > Il requisito di condivisione viene spesso usato per processi che sono istanze dello stesso programma sorgente > Il requisito di protezione prevede che un processo non possa mai accedere all'area di memoria di un altro processo
> Il requisito di protezione prevede che un processo non possa mai accedere all'area di memoria di un altro processo
99
98) Assumendo un sistema monoprocessore, quale delle seguenti affermazioni sugli algoritmi di scheduling è vera? > L'exponential averaging permette di stimare la dimensione dell'immagine di un processo, a partire dalle precedenti immagini di quello stesso processo[z] > La funzione di decisione dello scheduler Highest Response Ratio Next considera tanto il tempo di esecuzione stimato quanto il tempo trascorso in attesa[aa][ab][ac][ad] > L'exponential averaging è una tecnica applicabile dal solo scheduler Short Process Next > La funzione di decisione dello scheduler Shortest Remaining Time considera tanto il tempo di esecuzione richiesto quanto il tempo trascorso in attesa
[non sicura] > La funzione di decisione dello scheduler Highest Response Ratio Next considera tanto il tempo di esecuzione stimato quanto il tempo trascorso in attesa[aa][ab][ac][ad]
100
100) Quale delle seguenti affermazioni è vera sulla memoria virtuale con paginazione a segmentazione? > Sia la tabella dei segmenti che quella delle pagine di un processo contengono, in ciascuna entry, un bit per indicare se la pagina o il segmento sono stati modificati > Un indirizzo virtuale contiene anche un bit per indicare se la pagina corrispondente è o no in memoria principale > La tabella delle pagine di un processo contiene una pagina speciale dove è memorizzato il process control block del processo stesso > Ogni entry di una tabella delle pagine contiene un numero di pagina ed un offset
> Sia la tabella dei segmenti che quella delle pagine di un processo contengono, in ciascuna entry, un bit per indicare se la pagina o il segmento sono stati modificati
101
101) Si consideri il seguente modo di implementare la mutua esclusione: ``` int bolt = 0; void P(int i) { int key = 1; while(true) { do (exchange(key, bolt) == 0) while(key != 0); critical_section(); bolt = 0; } } ``` Quale delle seguenti affermazioni è vera? > La soluzione non implementa correttamente la mutua esclusione, ma può essere corretta nel seguente modo: int bolt = 0; void P(int i) { int key; while(true) { do (exchange(key, bolt) == 0) while(key != 0); critical_section(); bolt = 0; key = 1; } } > La soluzione non implementa correttamente la mutua esclusione, in quanto key deve essere una variabile globale > La soluzione non implementa correttamente la mutua esclusione, ma può essere corretta nel seguente modo: int bolt = 0; void P(int i) { int key; while(true) { key = 1; do (exchange(key, bolt) == 0) while(key != 0); critical_section(); bolt = 0; } } > La soluzione implementa correttamente la mutua esclusione
[non sicura] > La soluzione non implementa correttamente la mutua esclusione, ma può essere corretta nel seguente modo: int bolt = 0; void P(int i) { int key; while(true) { key = 1; do (exchange(key, bolt) == 0) while(key != 0); critical_section(); bolt = 0; } }
102
102) Quale delle seguenti affermazioni sulla memoria virtuale con paginazione è falsa? > Diminuire la dimensione delle pagine ha effetti positivi sul numero delle pagine che possono trovarsi in memoria principale > Aumentare la dimensione delle pagine ha effetti positivi sulla frammentazione interna > Diminuire la dimensione delle pagine ha effetti negativi sulla dimensione della tabella delle pagine > Aumentare la dimensione delle pagine ha effetti negativi sulla multiprogrammazione
[no sicura] | > Aumentare la dimensione delle pagine ha effetti positivi sulla frammentazione interna