sistemi operativi – anno acc. 2013/14 matricole congr. 1 mod...

22
1 Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3 Docenti e Orario Teoria – Prof. Ferdinando Cicalese Lezioni: Mercoledì 9:00 – 11:00 (Aula P4) Giovedì 11:00 – 13:00 (Aula P4) Laboratorio – Prof. Giuseppe Cattaneo Martedì 9:00 – 12:00 (Lab Turing) ( extra ) Martedì 12:00 – 14:00 (Lab Turing)

Upload: others

Post on 26-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

1!

Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3!

Docenti e Orario!

Teoria – Prof. Ferdinando Cicalese!Lezioni: Mercoledì ! 9:00 – 11:00 (Aula P4) !

!Giovedì !11:00 – 13:00 (Aula P4)!!Laboratorio – Prof. Giuseppe Cattaneo !Martedì ! ! 9:00 – 12:00 (Lab Turing)( extra ) !Martedì ! ! 12:00 – 14:00 (Lab Turing)!!

Page 2: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

2!

Libri di Testo: !!Sistemi Operativi, VII Ed. ! !Silberschatz, Galvin, Gagne ! !Addison Wesley!

!!!!Slide delle lezioni, al sito del corso:

! ! http://www.dia.unisa.it/~cicalese/SO!

Materiale Didattico - Teoria!

1a Lezione di Laboratorio martedì 11 (prossima settimana)! Installazione di Linux su macchina virtuale!!

!1. Portare una penna USB da almeno 16Gb o un hard disk esterno !!!2. Richiedere account (presso Fulvio Marino, II piano, Tecnici DI)!

!!!!Lezioni 2,3,4,…,12 - Programmazione avanzata UNIX (system calls)

! ! BASH Shell (configurazione, elementi di prog.) !!Testo: Advanced Programming in the UNIX Environment, II Ed.!

! !W.R. Stevens, S.A. Rago!! !Addison-Wesley!

!!

!Requisiti: padronanza del linguaggio C (! strutture e puntatori !)!!

Laboratorio!

Page 3: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

3!

Prova scritta!!tre domande teoriche !!un esercizio di programmazione!

!!Prova orale … con possibilità di confermare il voto dello scritto!!!!6 Sessioni di esame (cercate di sceglierne al più una per gruppo)! - 3 tra giugno e luglio! - 1 settembre! - 2 tra gennaio e febbraio 2015!!Prove in Itinere NO !!!Esercitazioni - fortemente consigliate!!!!!

Modalità di Esame!

(durante il corso) ! !Per la parte di Teoria!

!Dip. Informatica - Studio 46 – Piano IV! Mercoledì !14:30 – 16:00 ! Giovedì !14:30 – 16:00! Giovedì !(dopo la lezione)!!!!(dopo la fine del corso)!

!Inviare mail per richiedere appuntamento!!Sito Web del corso: http://www.dia.unisa.it/~cicalese/SO!!e-mail: [email protected]!

!- non utilizzare per domande che richiedono risposte complesse! !- usare l’orario di ricevimento!

Contatti e Ricevimento Studenti!

Page 4: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

4!

Domande???!

Sistemi Operativi: Panoramica!

Page 5: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

5!

1.9! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Sommario!

  Cosa fa un Sistema Operativo!  Operazioni di un sistema operativo!  Gestione dei processi!  Gestione della memoria!  Gestione delle memorie di massa!  Protezione e sicurezza!  Organizzazione di un sistema di calcolo!  Architettura di un calcolatore!  Struttura di un sistema operativo!

1.10! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Cosa è un sistema operativo ?!

  Un programma che fa da intermediario tra gli utenti di un computer ed il suo hardware.!

  Scopi di un sistema operativo:!  Eseguire programmi utente!  Rendere agevole l’uso del calcolatore. !  Rendere efficiente l’uso delle componenti hardware del

sistema di calcolo.!

Page 6: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

6!

1.11! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Struttura di un sistema di calcolo!

  Un sistema di calcolo può essere diviso nelle seguenti componenti!  Hardware – fornisce le risorse di calcolo di base!

 CPU, memory, I/O devices!  Sistema operativo!

 Controlla e coordina l’uso dell’hardware tra diverse applicazioni e utenti!

  Programmi applicativi– definiscono come usare le risorse del sistema per risolvere problemi computazionali definiti dagli utenti! Word processors, compilatori, web browsers, sistemi di

database, video games!  Utenti!

 umani, dispositivi automatici, altri computer!

1.12! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

4 Componenti di un Sistema di Calcolo!

Page 7: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

7!

1.13! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Definizione di Sistema Operativo!!  SO è un distributore di risorse!

  Gestisce tutte le risorse del calcolatore!  Risolve richieste in concorrenza garantendo un uso equo ed

efficiente delle risorse!  SO è un programma di controllo!

  Controlla l’esecuzione dei programmi evitando uso erroneo ed improprio del computer!

1.14! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Definizione di SistemaOperativo (cont.)!

  caveat:!  Nessuna definizione universalmente accettata!

  …altre alternative!  “Tutto ciò che una software house fornisce all’acquisto di un

sistema operativo” ! è una buona approssimazione…ma può esserlo molto “alla larga”!

  “L’unico programma che è sempre in funzione sul computer”!  è il kernel. Il resto comprende programmi di sistema

(forniti con il sistema operativo) o applicativi.!

Page 8: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

8!

Che cosa fa un SO?

Le operazioni fornite dal Sistema Operativo!

Gestione dei Processi Gestione della Memoria

Gestione dei File e dell’I/O!Protezione e Sicurezza!

1.16! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Gestione dei Processi!

  Un processo è un programma in esecuzione. L’Unità base di lavoro del sistema. Programma: entità passiva, Processo: entità attiva.!

  Processo: necessita di risorse per completare I suoi compiti!  CPU, memoria, I/O, file!  Dati di inizializzazione!

  Terminazione di un processo deve liberare ogni risorsa riutilizzabile!  Processi Single-thread (?!?): un program counter per la locazione della

prossima istruzione da eseguire!  Le istruzioni di un processo sono eseguite in sequenza, una alla volta

fino a completamento!  Processi Multi-thread: un program counter per thread!  Tipicamente in un sistema girano più processi (utente e di sistema)

concorrentemente su una o più CPU!  Concorrenza: multiplexing della CPUs tra processi / threads!

!

Page 9: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

9!

1.17! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Gestione dei Processi!

Il sistema operativo è responsabile delle seguenti operazioni relative alla gestione dei processi:!

  Creazione e cancellazione di processi utente e di sistema!  Sospensione e riattivazione dei processi!  Fornitura di meccanismi di sincronizzazione!  Fornitura di strutture per la comunicazione tra processi!  Gestione di situazioni di stallo (deadlock)!

1.18! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Gestione della Memoria!

  I dati devono essere in memoria perché la CPU possa usarli!  … così come le istruzioni da eseguire!

  Gestione della Memoria: cosa debba essere in memoria e quando!  Ottimizzazione della CPU e dei tempi di risposta agli utenti!

  Attività di gestione della Memoria!  Tener traccia di quali parti della memoria sono in uso e da chi!  Decidere quali processi (o loro parti) e dati mettere o togliere

dalla memoria!  Allocare e deallocare spazio di memoria quando necessario!

Page 10: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

10!

1.19! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Gestione della Memorizzazione!

  SO fornisce una visione logica uniforme dei sistemi di memoria sec.!  Unità logica di memorizzazione: file (proprietà astratte)!  Ogni supporto corrisponde ad un dispositivo (es., disk drive, tape

drive)! Diverse proprietà in termini di velocità di accesso, capacità,

data-transfer rate, metodi di accesso (sequenziale o diretto)!  Gestione del File-System!

  File organizzati in directory!  Controllo dell’accesso!  OS deve tipicamente gestire!

 Creazione e cancellazione di file e directory! Primitive di manipolazione di file e directory! Corrispondenza tra file logico e fisico! Backup dei file su supporti non-volatili!

1.20! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Gestione della Memoria di Massa!

  In genere si usano dischi per quei dati che non entrano in Memoria centrale o che devono esssere conservati tra una sessione di lavoro e l’altra.!  La gestione della mem. di massa è cruciale!

  L’efficienza globale del sistema dipende dal sotto-sistema di gestione dei dischi e dai suoi algoritmi!

  SO si occupa di!  Gestire lo spazio libero!  Allocazione dello spazio di memorizzazione!  Schedulazione delle richieste ai dischi!

  Alcune memorie di massa possono essere lente!  Memoria Terziaria: include dischi ottici, nastri magnetici!  Necessita comunque di metodi opportuni di gestione!  Diversi tipi: WORM (write-once, read-many-times), RW (read-write)!

Page 11: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

11!

1.21! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Sottosistema di I/O!

  Il SO deve tra l’altro nascondere le peculiarità fisiche dell’hardware!  Il sottosistema di I/O si occupa di !

  Gestire il buffering (memorizzazione temporanea dei dati durante il trasferimento), caching (memorizzazione di parte dei dati in memoria più veloci), spooling (sovrapposizione di output di un processo con l’input di un altro)!

  Interfacce per più device-driver !  Driver specifici per particolari dispositivi hardware!

1.22! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Protezione e Sicurezza!

  Protezione – ogni meccanismo per controllare l’accesso di processi e utenti alle risorse!

  Sicurezza – difesa del sistema contro attacchi interni ed esterni!  Es. denial-of-service, worms, virus, identity theft, theft of

service!  Il sistema assegna agli utenti diversi livelli di accesso alle risorse !

  Ogni utente viene identificato (user IDs, security IDs) include nome e un numero associato!

  User ID: è associato a tutti I file e processi di quell’utenteper regolamentarne l’accesso!

  Group ID: permette la creazione di autorizzazioni per insiemi di utenti; ogni processo e file ha associato anche un group id.!

  Acquisizione di privilegi (Privilege escalation) permette agli utenti di apparire al sistema con un ID con altri privilegi. !

Page 12: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

12!

Come funziona un SO?

Meccanismi di un Sistema Operativo!

InterruptI/O sincrono e asincrono

Gerarchie di Memoria e Caching!

1.24! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Organizzazione del Sistema!

  Operazioni di un sistema di calcolo!  Uno o più CPU e controllori sono connessi mediante un bus

che permette l’accesso alla memoria condivisa!  Esecuzione concorrente delle CPU e dei dispositivi che “competono” per i cicli di memoria!

Page 13: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

13!

1.25! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Computer Startup!

  Programma di inizializzazione (bootstrap) viene caricato all’accensione o al reboot!  Tipicamente risiede in ROM o EPROM (firmware)!  Inizializza il sistema!  Carica il kernel del sistema operativo e lo esegue!  …!  il sistema operativo rimane in attesa di un qualche evento!

  Interrupt (?!? :-O)!

1.26! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Operazioni del sistema di calcolo!

  Dispositivi di I/O e CPU possono agire concorrentemente.!  Ogni controllore di dispositivo si occupa di un particolare tipo di

dispositivo.!  Ogni controllore ha un buffer locale.!  CPU sposta dati da/verso la memoria verso/dai buffer locali!  I/O avviene dal dispositivo al buffer locale del controllore.!  Il controllore di dispositivo informa la CPU che l’operazione di I/O è

terminata mediante un interrupt.!

Page 14: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

14!

1.27! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Interrupt: Funzioni !

  Un Interrupt trasferisce il controllo ad una routine di controllo degli interrupt, (es. mediante un vettore degli interrupt, che contiene gli indirizzi delle routine di gestione degli interrupt)!  si salva l’indirizzo dell’istruzione interrotta dall’interrupt.!  Interrupt disabilitati mentre se ne gestisce uno,!

  Una trap (o eccezione) è un interrupt generato a livello software!  errore !  richiesta di servizio da programma utente.!

  Il sistema operativo è interrupt driven.!

1.28! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Gestione degli Interrupt!

  Il sistema operativo conserva lo stato della CPU salvando il contenuto dei registri e del program counter.!

  Determina che tipo di interrupt:!  polling!  vectored interrupt system!

  Diverse sezioni di codice definiscono quali azioni intraprendere per ciascun interrupt!

Page 15: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

15!

1.29! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Interrupt Timeline!

1.30! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Struttura dell’I/O!

  Iniziato l’I/O, il controllo ritorna al programma utente solo al completamento dell’operazione di I/O.!  La CPU è in attesa fino al successivo interrupt!  Wait loop!  Al più una richiesta di I/O per volta; I/O simultanei

impossibili.!  Iniziato l’I/O, il controllo ritorna al programma utente senza

attendere il completamento dell’oper. di I/O.!  System call – richiesta al sistema operativo di attesa del

completamento di I/O.!  Device-status table un elemento per ogni dispositivo di I/O

indicante il suo tipo, l’indirizzo e lo stato.!  Il Sistema Operativo accede alla I/O device table per

controllare lo stato di un dispositivo e per modificare il contenuto della tavola in seguito ad un interrupt.!

Page 16: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

16!

1.31! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Due Metodi di gestione di I/O!

Synchronous! Asynchronous!

1.32! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Device-Status Table!

Page 17: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

17!

1.33! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Direct Memory Access!

  Usato per dispositivi di I/O veloci, capaci di trasmettere informazioni a velocità “vicina” a quella della memoria.!

  Il controllore di dispositivo trasferisce blocchi di dati direttamente dal buffer alla memoria centrale senza l’intervento della CPU.!

  Un solo interrupt per blocco di dati viene generato, anziché un interrupt per byte.!

1.34! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Struttura della Memoria!

  Memoria centrale – l’unico dispositivo di memorizzazione accessibile direttamente alla CPU.!

  Memoria Secondaria – estensione della memoria centrale che fornisce disponibilità di memoria ampia e non-volatile.!

  Dischi magnetici –metallici o in vetro ricoperti di materiale magnetico!  La superficie dei dischi viene divisa in tracce, a loro volta

suddivise in settori.!  Il disk controller permette la gestione logica del dispositivo da

parte del computer. !

Page 18: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

18!

1.35! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Gerarchia della Memoria!

  La gerarchia della memoria è basata su!  Velocità!  Costo!  Volatilità!

  Caching – copia delle informazioni in dispositivi di memoria più veloce; la memoria centrale può esser considerato l’ultimo livello di cache per la memoria secondaria.!

1.36! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Gerarchia della Memoria!

Page 19: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

19!

1.37! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Caching!

  Principio fondamentale, sfruttato a diversi livelli in un computer (hardware, sistema operativo, software)!

  I dati in uso vengono temporaneamente copiati da memorie lente a memorie più veloci!

  Il dispositivo di memoria veloce (cache) viene quindi esplorato prima per controllare se il dato ricercato è disponibile!  Se si, si usa la copia disponibile in cache (accesso veloce)!  Se no, il dato viene copiato in cache e usato lì!

  La Cache è ridotta rispetto alla memoria cui fa da cache!  La gestione della Cache è un importante problema di

progettazione:!  Dimensione e sostituzione dei dati della Cache!

!

1.38! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Performance di Diversi Livelli di Memoria!

Level! 1! 2! 3! 4! 5!Name! registers! cache L1! cache L4! main mem! disk storage!

Typical size! few KB! > 128 KB! > 128 MB! Gigabytes! Terabytes!

Technology! Custom mem! SRAM! SRAM! DRAM! Solid state!

Bandwidth! 1CPU cycle! 700GB/sec! 40GB/sec! 10 GB/sec! 600MB/sec!

Managed by! Compiler! Hardware! Hardware! OS! OS!

Backed by! Cache! Cache ! Main mem! Disk! CD / tape!

Page 20: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

20!

1.39! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Cammino dell’intero A da Disco a Registro!

  Sistemi di Multitasking devono fare attenzione a usare il valore più recente, indipendentemente da dove esso si trovi nella gerarchia della memoria !

  Sistemi Multiprocessore devono garantire, in hardware, la coerenza tra le cache così che tutte le CPUs dispongano del valore più recente nella loro cache!

  Nei sistemi distribuiti la situazione è più complessa!  Possono esistere diverse copie dello stesso dato!  Esistono diverse soluzioni per gestire tali complicazioni!

1.40! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Struttura del Sistema Operativo!!  Multiprogrammazione necessaria per l’efficienza!

  Un unico utente non può tenere impegnati CPU e I/O costantemente!  Multiprogrammazione organizza jobs (codice e dati) in modo da tenere

la CPU sempre occupata ad eseguirne uno!  Un sottinsieme di tutti i job è in memoria!  Un job viene selezionato ed eseguito (job scheduling)!  Quando deve attendere un evento (I/O per esempio), il SO passa ad

eseguire un altro job!  Timesharing (multitasking) estensione della MultiProgrammazione:

la CPU passa frequentemente da un job all’altro così che gli utenti possono interagire con tutti i job in esecuzione, senza notare la condivisione della stessa (unica?) CPU!

  Response time dovrebbe essere < 1 sec!  Ogni utente ha almeno un programma in esecuzione process!  Se più job sono pronti per essere eseguiti CPU scheduling!  Se i processi non entrano in memoria, swapping!  Virtual memory permette l’esecuzione di processi non completamente

in memoria!

Page 21: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

21!

1.41! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Layout di Memoria - Multiprogrammed System!

1.42! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Sistema operativo e CPU dual Mode!

  Interrupt driven in hardware!  Errori Software e richieste generano exception or trap!  Divisione per zero, richieste di procedure di sistema!

  Altre situazioni problematiche: loop infiniti, processi che provano a modificare altri processi o il sistema operativo!

  Dual-mode permette al SO di proteggere se stesso e le altre componenti di sistema!  User mode e kernel mode !  Mode bit fornito in hardware!

 Permette di distinguere tra esecuzione di codice utente e codice kernel!

  Istruzioni considerate privilegiate, sono eseguibili solo in modalità kernel!

 System call passano alla modalità kernel, return dalla system call riporta in modalità utente!

Page 22: Sistemi Operativi – Anno Acc. 2013/14 matricole congr. 1 mod 3cicalese/SO/2014/Lecture1_2014.pdf · 2014. 3. 11. · 1! Sistemi Operativi – Anno Acc. 2013/14 matricole congr

22!

1.43! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition!

Modalità Utente e Kernel!

  Timer per prevenire loop infinito / monopolizzazione di risorse!  Set interrupt allo scadere di un certo periodo di tempo!  Sistema Operativo decrementa contatore!  Su contatore = 0, genera un interrupt!  Settato prima dello scheduling per riprendere il controllo o

terminare programmi che superano il tempo assegnato!

Fine!