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