programma programmatore

advertisement
Nome ________________________
Rispondi alle seguenti domande:
1.
2.
3.
4.
Illustra nel dettaglio le principali funzioni di un sistema operativo.
Che cosa si intende per Kernel mode e user mode? In particolare che cos’è il kernel?
Spiega le caratteristiche dei sistemi operativi time sharing e basati sulle priorità. Spiega anche il significato dei termini round robin e time slice.
Considerando i due programmi:
P1: 1ms CPU, 6 ms I/O, 5 ms CPU, 2 ms I/O,
P2: 10 ms CPU, 10 ms I/O, 1 ms CPU,
calcola il tempo medio di attesa nel caso in cui vengano eseguiti in monoprogrammazione e la percentuale di utilizzo della CPU nel caso in cui
siano eseguiti in multiprogrammazione, ipotizzando di iniziare da P1.
Segna la risposta corretta (una ed una sola)
a.
b.
c.
d.
Un editor è:
Un software di sistema
Parte del sistema operativo
Un applicativo
Software di sviluppo
Una interfaccia utente
NON è una funzione del sistema operativo:
Il word processing
La gestione dell’interfaccia utente
La gestione dell’interfaccia tra risorse e applicazioni
La condivisione e l’ottimizzazione delle risorse
L’amministrazione di sistema (con eventuale
multiutenza)
Un SO che ripartisce i compiti su più CPU è detto:
Multiuser
Multiprocessing
Multitasking
Multiprocessor
Nessuna delle precedenti
e.
Il controllo passa dal sistema operativo all’applicativo
Il processore passa da modalità utente a modalità
riservata
Viene attivato il DMAC
Viene attivato il DMA
Il programma continua la sua esecuzione se promette
di non farlo più
f.
Segna l’affermazione FALSA. Una API:
Viene inoltrata dal sistema operativo all’utente
È una richiesta di esecuzione di un sottoprogramma
Può essere scritta in linguaggio a basso o alto livello
Richiede al sistema operativo l’esecuzione di
particolari servizi
Serve per attivare una system call
g.
Quale caratteristica è tipica dei sistemi a lotti?
Il programmatore carica i programmi bit a bit
Lungo tempo di setup
Compaiono i primi rudimentali sistemi operativi
Diversi job sono eseguiti in parallelo
Priorità ai programmi batch
h.
Quale acronimo indica un tipo di interfaccia utente?:
GUI
API
DMA
Prompt
Nessuna delle risposte precedenti
Quale affermazione, riferita al modello onion skin, è
corretta
Il livello più vicino all’hardware è la gestione delle
periferiche
Il livello più vicino all’utente è la gestione delle
periferiche
Ogni livello assolve compiti specifici, fornendo servizi
al livello superiore e ricevendone dal livello inferiore
Ogni livello assolve compiti specifici, fornendo servizi
al livello inferiore e ricevendone dal livello superiore
Valutazione:
Nel caso di violazione dei valori impostati nei registri
limite da parte dell’istruzione di un programma:
Pti 1,5 per ogni risposta aperta completa e corretta, anche se in forma sintetica e per l’esercizio completo
Pti 0,5 per ogni risposta chiusa corretta, 0 se nulla, -0,125 se errata.
Totale: pti 10
Nome ________________________
Rispondi alle seguenti domande:
1.
2.
3.
4.
Che cosa si intende per virtualizzazione del processore, della memoria, del disco, delle unità di I/Oi? Riporta degli esempi.
Che cos’è e quando viene lanciata una system call? Quali strati del software sono interessati?
Spiega le caratteristiche dei sistemi operativi multiprogrammati, e i principali vantaggi rispetto ad un’esecuzione monoprogrammata.
Considerando i due programmi:
P1: 1ms CPU, 6 ms I/O, 5 ms CPU, 2 ms I/O,
P2: 10 ms CPU, 10 ms I/O, 1 ms CPU,
calcola il tempo medio di attesa nel caso in cui vengano eseguiti in monoprogrammazione e la percentuale di utilizzo della CPU nel caso in cui
siano eseguiti in multiprogrammazione, ipotizzando di iniziare da P2.
Segna la risposta corretta (una ed una sola)
a.
Per salvare un file, un programma utente
e.
Deve conoscere traccia e settore del disco
Deve conoscere cilindro e settore del disco
Deve conoscere traccia e cilindro del disco
Ignora la posizione fisica in cui il file verrà salvato
Deve lavorare in kernel mode
b.
Quale fra le seguenti è una caratteristica dei primissimi
sistemi operativi degli anni ’50?
Multiuser
Multiprocessing
Multiprogramming
Multiprocessor
Nessuna delle precedenti
f.
Le API:
g.
Fanno il miele
Sono interfacce utente
Sono interfacce per il programmatore
Sono solo nei sistemi monoprogrammati
Sono solo nei sistemi multiprogrammati
d.
In un sistema con priorità, un programma, ottenuta la CPU:
Non può essere interrotto da altri programmi
La rilascia solo a programmi interattivi
La rilascia solo se necessaria ad un programma a priorità
maggiore o per fare un’operazione di I/O, o se ha compiuto
una violazione e viene quindi interrotto
Non la rilascia, visto che quando ha ottenuto la CPU,
questo programma aveva la priorità
Valutazione:
Se il processore si trova in supervisor mode:
È possibile eseguire solo un ristretto insieme di
istruzioni
È possibile eseguire l’intero set di istruzioni macchina
Sta eseguendo codice di applicativo
Non può svolgere operazioni potenzialmente
pericolose
Non si trova in supervisor mode o modalità riservata
Uso di linguaggi macchina e linguaggi assemblativi
Lunghissimo tempo di setup per la preparazione
all’esecuzione di programmi
Assenza del sistema operativo
Utilizzo di interruttori, poi di schede perforate per dati
e programmi
Utilizzo del compilatore FORTRAN
c.
Un SO che esegue più programmi in parallelismo virtuale è:
Un programma I/O bound:
Deve rimanere in memoria per tutto il tempo di esecuzione
Usa limitatamente lo spazio di memoria
Ha una limitata priorità nell’uso della CPU
Fa uso limitato di CPU e molte operazioni di I/O
Fa largo uso di CPU e poche operazioni di I/O
h.
Un programma CPU bound viene avvantaggiato
Nei sistemi multiprogrammati degli anni ‘60
Nei sistemi monoprogrammati degli anni ‘50
Nei sistemi con priorità
Nei sistemi time sharing
Nella tecnica round robin
Pti 1,5 per ogni risposta aperta completa e corretta, anche se in forma sintetica e per l’esercizio completo
Pti 0,5 per ogni risposta chiusa corretta, 0 se nulla, -0,125 se errata.
Totale: pti 10
Nome ________________________
Rispondi alle seguenti domande:
1.
2.
3.
4.
Spoega brevemente che cos’è un sistema multiprogramming, multitasking, multi processing, multiprocessor, multiuser. Che cosa si intende
per parallelismo reale e virtuale?
Racconta come si sono evoluti i sistemi di elaborazione nel corso degli anni ’40 e ’50, spiega quali aspetti hanno accompagnato la nascita dei
primi sistemi operativi.
Spiega il concetto di macchina virtuale e illustra in dettaglio il modello onion-skin per la struttura di un sistema operativo, in riferimento alle
risorse che esso deve gestire.
Considerando i due programmi:
P1: 1ms CPU, 8 ms I/O, 5 ms CPU, 2 ms I/O,
P2: 6 ms CPU, 2 ms I/O, 1 ms CPU,
calcola il tempo medio di attesa nel caso in cui vengano eseguiti in monoprogrammazione e la percentuale di utilizzo della CPU nel caso in cui
siano eseguiti in multiprogrammazione, ipotizzando di iniziare da P1.
Segna la risposta corretta (una ed una sola)
a.
Sono i primi sistemi operativi
Le operazioni di setup vengono serializzate dal SO,
che in questo sostituisce l’utente e ottimizza i tempi
Il tempo di I/O in un job viene usato per l’esecuzione
di un altro programma in memoria
Nasce contestualmente il primo linguaggio ad alto
livello (Fortran)
I JOB sono eseguiti in modalità batch e
monoprogrammata
Precisamente, C, C++, Java, Basic, Fortran sono:
Linguaggi di programmazione
Ambienti di sviluppo
Programmi sorgente
Strumenti di tortura
Software applicativi
b.
Lo SPOOLING riguarda:
f.
La CPU
La RAM
I bus
I dispositivi di I/O
Solo le stampanti
c.
d.
g.
Quale fra le seguenti NON è una caratteristica dei
sistemi a lotti degli anni ’50?
Valutazione:
Quale frase descrive meglio il DMA?
Serve alla CPU per accedere più velocemente alla
memoria centrale
Trasferisce i dati senza coinvolgere il processore
È una componente del sistema operativo
Serve per accedere direttamente alla memoria su disco
È uno strato del software
Un SO che ammette la presenza di più programmi in
memoria centrale è detto:
Multiuser
Multitasking
Multiprogramming
Multiprocessor
Nessuna delle precedenti
e.
Il numero di programmi contemporaneamente
presenti in memoria
Il grado di sfruttamento della CPU in percentuale
Il grado di risparmio di tempo rispetto ad
un’esecuzione sequenziale
Il numero di accessi in DMA al secondo
Il numero di registri limite a disposizione
Le interfacce:
Gestiscono sempre l’interazione utente-computer
Gestiscono sempre l’interazione applicazioni-risorse
Forniscono servizi per lo svolgimento di compiti
Sono sempre grafiche
Sono un concetto ormai obsoleto
Il grado di multiprogrammazione di un sistema è:
h.
Un array processor è un’architettura
SISD
SIMD
MISD
MIMD
Nessuna delle precedenti
Pti 1,5 per ogni risposta aperta completa e corretta, anche se in forma sintetica e per l’esercizio completo
Pti 0,5 per ogni risposta chiusa corretta, 0 se nulla, -0,125 se errata.
Totale: pti 10
Nome ________________________
Rispondi alle seguenti domande:
1.
2.
3.
4.
Colloca in uno schema alto-basso livello le risorse hardware e software di un sistema di elaborazione, distinguendo quelle software fra
applicativo, di base, sistema operativo. Indica quali fra questi strati comunicano fra loro e quali con gli utenti finali, i programmatori di sistema, i
programmatori di applicazioni.
Come si classificano i sistemi di calcolo secondo la tassonomia di flynn? Che cos’è l’architettura SMP?
Spiega i termini CPU bound, I/O bound, CPU burst, I/O burst, programma batch, programma interattivo. I sistemi operativi degli anni ‘60
potevano meglio soddisfare le esigenze di utenti batch o interattivi? E quelli degli anni ‘70? Perché?
Considerando i due programmi:
P1: 1ms CPU, 6 ms I/O, 5 ms CPU, 2 ms I/O,
P2: 10 ms CPU, 10 ms I/O, 1 ms CPU,
calcola il tempo medio di attesa nel caso in cui vengano eseguiti in monoprogrammazione e la percentuale di utilizzo della CPU nel caso in cui
siano eseguiti in multiprogrammazione, ipotizzando di iniziare da P2.
Segna la risposta corretta (una ed una sola)
a.
Un SO che gestisce più utenti è detto:
e. I software di sviluppo NON comprendono
Multiuser
Multiprocessing
Multiprogramming
Multiprocessor
Nessuna delle precedenti
b.
Per minimizzare il tempo medio di attesa di più
programmi eseguiti in serie (in sequenza)
È indifferente: il tempo totale di esecuzione non cambia
Va eseguito per primo quello che ha minor CPU burst
Va eseguito per primo quello che ha minor I/O burst
Va eseguito per primo il più lento
Va eseguito per primo il più veloce
c.
Secondo la tassonomia di Flynn, un esempio di
architettura MIMD è dato da:
Un terminale
Un transputer
Un array processor
Una macchina di Von Neumann
Non esistono tali architetture nella realtà
d. Nell’architettura a microkernel:
Il nucleo si occupa della gestione delle periferiche
Il nucleo svolge poche funzioni essenziali
Il nucleo si occupa della gestione delle periferiche
Il nucleo si occupa di tutte le funzioni del SO
Il nucleo non esiste
Ogni microutente si trova a suo agio
Valutazione:
Compilatori
Interpreti
loader
Kernel
Debugger
f.
Implementa un parallelismo
necessariamente reale:
virtuale
ma
non
Un sistema multiprocessore
Il DMA
Un sistema con processore Dual Core
Un’ architettura parallela come un transputer
L’esecuzione multitasking
g. Un programma CPU bound:
Deve rimanere in memoria per tutto il tempo di esecuzione
Usa limitatamente lo spazio di memoria
Ha una limitata priorità nell’uso della CPU
Fa uso limitato di CPU e molte operazioni di I/O
Fa largo uso di CPU e poche operazioni di I/O
h. Lo SPOOL è un metodo per:
gestire l’accesso simultaneo alle unità periferiche
gestire molte stampanti nei sistemi monoprogrammati
gestire gli accessi simultanei al disco
gestire gli accessi simultanei alla CPU
gestire gli accessi simultanei alla memoria
Pti 1,5 per ogni risposta aperta completa e corretta, anche se in forma sintetica e per l’esercizio completo
Pti 0,5 per ogni risposta chiusa corretta, 0 se nulla, -0,125 se errata.
Totale: pti 10
Scarica