Le domande a risposta aperta della verifica saranno scelte fra le seguenti. (Questa volta saranno tre, ma le risposte dovranno cominciare ad essere più articolate e molto complete, anche per abituarsi pian piano alla prova d’esame.). Pt1,5 per ogni risposta in verifica 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Illustra nel dettaglio le principali funzioni di un sistema operativo (intro, pagg 10-11) Che cosa si intende per virtualizzazione del processore, della memoria, del disco, delle unità di I/Oi? Riporta degli esempi (Intro, pag 11, appunti ed esempi aggiunti in classe) Spoega brevemente che cos’è un sistema multiprogramming, multitasking, multi processing, multiprocessor, multiuser. Che cosa si intende per parallelismo reale e virtuale? (principalmente appunti, concetti vari sul testo a pag 11, 12, 20 e seguenti). 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. (pag 13) Che cos’è e quando viene lanciata una system call? Quali strati del software sono interessati? (pagg 13, 14) Quali tipi di interfaccia utente conosci? Illustrane le caratteristiche, anche in riferimento a quanto hai visto in laboratorio. (pagg 1416+ lab) Che cosa si intende per Kernel mode e user mode? In particolare che cos’è il kernel? (pag 16) 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. (pagg 16,17) Spiega le caratteristiche dei sistemi operativi multiprogrammati, e i principali vantaggi rispetto ad un’esecuzione monoprogrammata. (pagg1922) 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é? (pag 23) Spiega le caratteristiche dei sistemi operativi time sharing e basati sulle priorità. Spiega anche il significato dei termini round robin e time slice. (pag 24) Come si classificano i sistemi di calcolo secondo la tassonomia di flynn? Che cos’è l’architettura SMP? (appunti+pag25) 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. Ci sarà un esercizio simile a quelli a pag 55, n 12, 13, 14. Svolgeteli tutti e tre come preparazione. Pt1,5 in verifica domande a risposta chiusa: dettagli vari e quesiti di comprensione della teoria vista (8 quiz, pt 0,5 cad in verifica). quiz di preparazione: direi che è necessario farli tutti… ovviamente questi non saranno testualmente gli stessi! Sul testo: pagg 51 e seguenti, quiz da 1 a 13. Ed eccone altri: 1. 2. 3. 4. L’interfaccia tra applicazioni e risorse L’interfaccia utente testuale L’interfaccia utente grafica Nessuna delle precedenti Un programma di word processing è: Un software di sistema Parte del sistema operativo Un applicativo Software di sviluppo Una interfaccia utente 7. Per salvare un file, un programma utente: Deve conoscere traccia e settore del disco Deve conoscere bene l’architettura del disco Ignora la posizione fisica in cui il file verrà salvato Deve lavorare in kernel mode Deve utilizzare l’interfaccia grafica Segna l’affermazione FALSA. Le interfacce in generale: Nascondono la complessità degli strati sottostanti Forniscono servizi per lo svolgimento di compiti Possono essere grafiche o a riga di comando Virtualizzano i dispositivi Sono un concetto ormai obsoleto 8. Precisamente, C, C++, Java, Basic, Fortran sono: Linguaggi di programmazione Ambienti di sviluppo Programmi sorgente Programmi oggetto Software applicativi Un SO che gestisce più utenti è detto: Multiuser Multiprocessing Multiprogramming Multiprocessor Nessuna delle precedenti 9. Un SO che ripartisce i compiti su più CPU è detto: Multiuser Multiprocessing Multiprogramming Multiprocessor Nessuna delle precedenti I software di sviluppo NON comprendono: Editor Compilatori e interpreti Linker, loader Debugger Kernel 5. NON è una funzione del sistema operativo: La risoluzione di compiti e problemi specifici 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) 6. L’acronimo GUI indica: Meccanismi di sicurezza e tolleranza ai guasti 10. Un SO che esegue più programmi in parallelismo virtuale è: Multiuser Multitasking Multiprogramming Multiprocessor Nessuna delle precedenti Continua… 11. Un SO che ammette la presenza di più programmi in memoria centrale è detto: Multiuser Multitasking Multiprogramming Multiprocessor Nessuna delle precedenti 12. Ordina dal livello più basso al più alto: Hardware, sistema operativo, software di base e di sviluppo, software applicativo, utente Hardware, software di base e di sviluppo, software applicativo, sistema operativo, utente Hardware, software applicativo, sistema operativo, software di base e di sviluppo, utente Sistema operativo, hardware di base, software di sviluppo, software applicativo, utente Hardware operativo, software di base e di sviluppo, software applicativo, utente 13. Segna l’affermazione FALSA. Una system call o chiamata a sistema: 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 È anche chiamata API 14. Se il processore si trova in kernel 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 15. Quale fra le seguenti NON è una caratteristica dei sistemi a lotti degli anni ‘50? 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 16. Per minimizzare il tempo medio di attesa di più programmi eseguiti in serie (in sequenza, uno dopo l’altro) Va eseguito per primo quello che ha minor tempo di CPU Va eseguito per primo quello che ha minor tempo di I/O Va eseguito per primo il più lento Va eseguito per primo il più veloce È indifferente perché il tempo totale di esecuzione è il medesimo 17. Nel caso di violazione dei valori impostati nei registri limite da parte dell’istruzione di un programma: Il programma viene interrotto e il controllo va al SO Il controllo passa dal sistema operativo all’applicativo Il processore passa da modalità riservata a modalità utente Viene attivato il DMA Viene attivato il DMAC 18. Quale fra le seguenti NON è una caratteristica dei primissimi calcolatori degli anni ‘40? 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 linguaggio FORTRAN 19. il grado di multiprogrammazione di un sistema è: 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 20. Implementa un parallelismo virtuale ma non necessariamente reale: Un sistema multiprocessore Il DMA Un sistema con processore Dual Core Un’ architettura parallela come un transputer o un array processor L’esecuzione multitasking