問題一覧
1
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
Non esistono sistemi operativi per la gestione di sistemi real time
3
Più processi indipendenti possono andare in esecuzione contemporaneamente
4
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
Più processi indipendenti possono essere gestiti in contemporaneamente
6
E' una tecnica che consente l'utilizzo contemporaneo delle risorse
7
Nessuna delle altre opzioni
8
Sono calcolatori elettronici di grosse dimensioni su cui giravano sistemi operativi di tipo batch
9
Nessuna delle altre opzioni
10
Cluster
11
Efficienza, Affidabilità, Disponibilità
12
Si possono classificare in soft, medium e hard real time
13
Un sistema embedded
14
Non visibili all'utente
15
Tutte quelle che realizzano il criterio di convenienza
16
Tutte quelle che realizzano il criterio di efficienza
17
Non possono essere scritte in linguaggi come l'Assembly e il C/C++
18
Sistemi strutturati a livelli
19
Sistemi orientati al microkernel
20
Programma principale, procedure di servizio, procedure di utilità
21
Nessuna delle altre opzioni
22
Livello Driver Dispositivi, Livello Nucleo, Livello dei Sotto Sistemi, Livello API, Livello Applicazione
23
Nessuna delle altre opzioni
24
Quando passa nello stato ready
25
New, Ready, Running, Waiting, Terminate
26
E' una struttura dati del processo in esecuzione che contiene tutte le informazioni che descrivono l'istanza del processo
27
Il codice sorgente caricato in memoria
28
Nessuna delle altre opzioni
29
Nessuna delle altre opzioni
30
Dispatcher
31
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
- 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
Waiting queue, ready queue
34
La coda dei processi terminati
35
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
Normalmente, in maniera anomala, per volonta dei un altro processo
37
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
Condivisione delle risorse: un figlio ottiene le proprie risorse direttamente ed esclusivamente dal sistema operativo.
39
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
Codice, dati e file
41
Molti a uno
42
Nessuna delle altre opzioni
43
Nessuna delle altre opzioni
44
Effettua il cambio di contesto, passa alla modalità utente e salta nella posizione giusta del programma utente per riavviarne l'esecuzione
45
Nessuna delle altre opzioni
46
Il numero di processi che completano la loro esecuzione per unità di tempo
47
Il tempo di attesa nella coda dei processi pronti
48
Il primo processo che si trova nella coda dei processi pronti da più tempo viene servito
49
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
Il primo processo ad essere eseguito è quello con minor tempo di esecuzione, cioè quello con CPU burst più breve
51
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
Consente anche la condivisione della memoria
53
Condivisione di memoria
54
Tramite lo scambio di messaggi o la condivisione della memoria
55
Può avvenire solo tramite meccanismi basati sulla condivisione di risorse
56
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
In maniera mutuamente esclusiva
58
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
Disabilitando le interruzioni
60
void wait (sem s){ while (s ≤ 0) {} s--; }
61
sem mutex = 1; do { wait(mutex); // entry section <sezione critica> signal(mutex); // exit section <sezione non critica> }
62
signal(semaforo *s){ s->valore++; if (s->valore ≤ 0) then { /* rimuove un processo p dalla coda del semaforo */ wakeup(p); } }
63
void signal (sem s){ s++; }
64
Si, utilizzando un semaforo mutex inizializzato a uno
65
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
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
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
Nessuna delle altre opzioni
69
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
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
Scambio di messaggi
72
Utilizzando la primitiva fork()
73
Terminare esplicitamente un processo
74
Quando il sistema operativo sa già in fase di caricamento dove risiederà il programma in memoria
75
Sono quelli generati da un programma in esecuzione sulla CPU
76
Sono quelli gestiti dalla MMU (Main Memory Unit) e caricati nel registro MAR (memory address register)
77
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
Si tratta del procedimento di avvicendamento dei processi dalla memoria centrale alla memoria di massa
79
Utilizzando il registro base e il registro limite
80
Con partizioni fisse o con partizioni variabili
81
Random Fit
82
Una struttura dati implementata in hardware la tabella delle pagine, che consente di mappare pagine logiche in pagine fisiche
83
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
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
Blocchi di memoria fisica tutti della stessa dimensione prefissata
86
Meccanismi di allocazione di blocchi di memoria di dimensioni prefissate
87
Lo swapping dei processi che richiedono memoria di dimensione diversa
88
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
Blocchi di memoria logica tutti della stessa dimensione prefissata
90
Il suo contenuto deve essere invalidato
91
Si utilizza per velocizzare la ricerca nella tabelle delle pagine. Essa è una memoria associativa ad alta velocità.
92
Per determinare su una pagina si può leggere e scrivere oppure soltando leggere
93
Il meccanismo di segmentazione non consente la condivisione di porzioni di memoria da parte di processi diversi
94
Nessuna delle altre opzioni
95
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
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
Tale meccanismo consente l'esecuzione di processi non contenuti interamente nella memoria
98
E' una eccezione che viene inviata al processore quando un processo tenta l'accesso ad una pagina non caricata in memoria centrale
99
Usando la memoria virtuale non si separa la memoria logica, vista dall'utente, dalla memoria fisica: gli indirizzi logici corrispondono agli indirizzi fisici
100
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
Calcolatori Eletrronici
Calcolatori Eletrronici
ユーザ名非公開 · 100問 · 1年前Calcolatori Eletrronici
Calcolatori Eletrronici
100問 • 1年前Calcolatori Elettronici 2
Calcolatori Elettronici 2
ユーザ名非公開 · 100問 · 1年前Calcolatori Elettronici 2
Calcolatori Elettronici 2
100問 • 1年前Calcolatori 4
Calcolatori 4
ユーザ名非公開 · 3回閲覧 · 94問 · 1年前Calcolatori 4
Calcolatori 4
3回閲覧 • 94問 • 1年前問題一覧
1
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
Non esistono sistemi operativi per la gestione di sistemi real time
3
Più processi indipendenti possono andare in esecuzione contemporaneamente
4
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
Più processi indipendenti possono essere gestiti in contemporaneamente
6
E' una tecnica che consente l'utilizzo contemporaneo delle risorse
7
Nessuna delle altre opzioni
8
Sono calcolatori elettronici di grosse dimensioni su cui giravano sistemi operativi di tipo batch
9
Nessuna delle altre opzioni
10
Cluster
11
Efficienza, Affidabilità, Disponibilità
12
Si possono classificare in soft, medium e hard real time
13
Un sistema embedded
14
Non visibili all'utente
15
Tutte quelle che realizzano il criterio di convenienza
16
Tutte quelle che realizzano il criterio di efficienza
17
Non possono essere scritte in linguaggi come l'Assembly e il C/C++
18
Sistemi strutturati a livelli
19
Sistemi orientati al microkernel
20
Programma principale, procedure di servizio, procedure di utilità
21
Nessuna delle altre opzioni
22
Livello Driver Dispositivi, Livello Nucleo, Livello dei Sotto Sistemi, Livello API, Livello Applicazione
23
Nessuna delle altre opzioni
24
Quando passa nello stato ready
25
New, Ready, Running, Waiting, Terminate
26
E' una struttura dati del processo in esecuzione che contiene tutte le informazioni che descrivono l'istanza del processo
27
Il codice sorgente caricato in memoria
28
Nessuna delle altre opzioni
29
Nessuna delle altre opzioni
30
Dispatcher
31
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
- 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
Waiting queue, ready queue
34
La coda dei processi terminati
35
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
Normalmente, in maniera anomala, per volonta dei un altro processo
37
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
Condivisione delle risorse: un figlio ottiene le proprie risorse direttamente ed esclusivamente dal sistema operativo.
39
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
Codice, dati e file
41
Molti a uno
42
Nessuna delle altre opzioni
43
Nessuna delle altre opzioni
44
Effettua il cambio di contesto, passa alla modalità utente e salta nella posizione giusta del programma utente per riavviarne l'esecuzione
45
Nessuna delle altre opzioni
46
Il numero di processi che completano la loro esecuzione per unità di tempo
47
Il tempo di attesa nella coda dei processi pronti
48
Il primo processo che si trova nella coda dei processi pronti da più tempo viene servito
49
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
Il primo processo ad essere eseguito è quello con minor tempo di esecuzione, cioè quello con CPU burst più breve
51
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
Consente anche la condivisione della memoria
53
Condivisione di memoria
54
Tramite lo scambio di messaggi o la condivisione della memoria
55
Può avvenire solo tramite meccanismi basati sulla condivisione di risorse
56
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
In maniera mutuamente esclusiva
58
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
Disabilitando le interruzioni
60
void wait (sem s){ while (s ≤ 0) {} s--; }
61
sem mutex = 1; do { wait(mutex); // entry section <sezione critica> signal(mutex); // exit section <sezione non critica> }
62
signal(semaforo *s){ s->valore++; if (s->valore ≤ 0) then { /* rimuove un processo p dalla coda del semaforo */ wakeup(p); } }
63
void signal (sem s){ s++; }
64
Si, utilizzando un semaforo mutex inizializzato a uno
65
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
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
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
Nessuna delle altre opzioni
69
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
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
Scambio di messaggi
72
Utilizzando la primitiva fork()
73
Terminare esplicitamente un processo
74
Quando il sistema operativo sa già in fase di caricamento dove risiederà il programma in memoria
75
Sono quelli generati da un programma in esecuzione sulla CPU
76
Sono quelli gestiti dalla MMU (Main Memory Unit) e caricati nel registro MAR (memory address register)
77
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
Si tratta del procedimento di avvicendamento dei processi dalla memoria centrale alla memoria di massa
79
Utilizzando il registro base e il registro limite
80
Con partizioni fisse o con partizioni variabili
81
Random Fit
82
Una struttura dati implementata in hardware la tabella delle pagine, che consente di mappare pagine logiche in pagine fisiche
83
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
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
Blocchi di memoria fisica tutti della stessa dimensione prefissata
86
Meccanismi di allocazione di blocchi di memoria di dimensioni prefissate
87
Lo swapping dei processi che richiedono memoria di dimensione diversa
88
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
Blocchi di memoria logica tutti della stessa dimensione prefissata
90
Il suo contenuto deve essere invalidato
91
Si utilizza per velocizzare la ricerca nella tabelle delle pagine. Essa è una memoria associativa ad alta velocità.
92
Per determinare su una pagina si può leggere e scrivere oppure soltando leggere
93
Il meccanismo di segmentazione non consente la condivisione di porzioni di memoria da parte di processi diversi
94
Nessuna delle altre opzioni
95
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
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
Tale meccanismo consente l'esecuzione di processi non contenuti interamente nella memoria
98
E' una eccezione che viene inviata al processore quando un processo tenta l'accesso ad una pagina non caricata in memoria centrale
99
Usando la memoria virtuale non si separa la memoria logica, vista dall'utente, dalla memoria fisica: gli indirizzi logici corrispondono agli indirizzi fisici
100
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