ʼ 12:00 – 14:00 ʼ 3 prove intercorso (o prova scritta) - oralecicalese/so/lezione1.pdf ·...

10
1 Lezioni: Martediʼ e Mercolediʼ 12:00 – 14:00 Venerdiʼ 11:00 – 14:00 (laboratorio) Esame: 3 Prove intercorso (o Prova Scritta) - Orale 1.3 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition Cosa fa un Sistema Operativo Organizzazione di un sistema di calcolo Architettura di un calcolatore Struttura di un sistemi operativi Operazioni di un sistema operativo Gestione dei processi Gestione della memoria Gestione delle memorie di massa Protezione e sicurezza 1.4 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition Una panoramica delle componenti fondamentali di un sistema operativo Ricapitolare lʼorganizzazione di base di un sistema di calcolo

Upload: others

Post on 25-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ʼ 12:00 – 14:00 ʼ 3 Prove intercorso (o Prova Scritta) - Oralecicalese/SO/Lezione1.pdf · Caching – copia delle informazioni in dispositivi di memoria piuʼ veloce; la memoria

1

Lezioni: Martediʼ e Mercolediʼ 12:00 – 14:00

Venerdiʼ 11:00 – 14:00 (laboratorio)

Esame: 3 Prove intercorso (o Prova Scritta) - Orale

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

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

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

  Una panoramica delle componenti fondamentali di un sistema operativo

  Ricapitolare lʼorganizzazione di base di un sistema di calcolo

Page 2: ʼ 12:00 – 14:00 ʼ 3 Prove intercorso (o Prova Scritta) - Oralecicalese/SO/Lezione1.pdf · Caching – copia delle informazioni in dispositivi di memoria piuʼ veloce; la memoria

2

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

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

  Scopi di un sistema operativo:   Eseguire programmi utente e rendere semplice la soluzione

dei problemi utente.   Rendere agevole lʼuso del calcolatore.

  Rendere efficiente lʼuso delle componenti hardware del sistema di calcolo.

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

  Un sistema di calcolo puoʼ 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 usarele 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.7 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7th Edition 1.8 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7th Edition

  SO eʼ un distributore di risorse   Gestisce tutte le risorse del calcolatore   Risolve richieste in concorrenza garantendo un uso equo ed

efficiente delle risorse   SO eʼ un programma di controllo

  Controlla lʼesecuzione dei programmi evitando uso erroneo ed improrio del computer

Page 3: ʼ 12:00 – 14:00 ʼ 3 Prove intercorso (o Prova Scritta) - Oralecicalese/SO/Lezione1.pdf · Caching – copia delle informazioni in dispositivi di memoria piuʼ veloce; la memoria

3

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

  Nessuna definizione universalmente accettata   “Tutto cioʼ che una software house fornisce allʼacquisto di un

sistema operativo” eʼ una buona approssimazione   Ma puoʼ esserlo molto “alla larga”

  “Lʼunico programma che eʼ sempre in funzione sul computer computer” eʼ il kernel. Il resto comprende programmi di sistema (forniti con in sistema operativo) o applicativi.

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

  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.11 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7th Edition

  Operazioni di un sistema di calcolo   Uno o piuʼ 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

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

  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 e ̓

terminata mediante un interrupt.

Page 4: ʼ 12:00 – 14:00 ʼ 3 Prove intercorso (o Prova Scritta) - Oralecicalese/SO/Lezione1.pdf · Caching – copia delle informazioni in dispositivi di memoria piuʼ veloce; la memoria

4

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

  Un Interrupt transferisce 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)

  Lʼarchitettura deve prevedere il salvataggio dellʼindirizzo dellʼistruzione interrotta dallʼ interrupt.

  Gli interrupt sono disabilitati mentre se ne gestisce uno, al fine di evitare che qualche interrupt venga perso.

  Una trap (o eccezione) eʼ un interrupt generato a livello software, a causa di un errore o di una richiesta-utente.

  Il sistema operativo eʼ interrupt driven.

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

  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 definisco quali azioni intraprendere per ciascun interrupt

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

  Iniziato lʼI/O, il controllo ritorna al programma utente solo al completmento dellʼoperazione di I/O.   La CPU eʼ in attesa fino al successivo interrupt   Wait loop   Al piuʼ una richiesta di I/O per volta; I/O simultanei

impossibili.   Iniziato lʼI/O starts, 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 5: ʼ 12:00 – 14:00 ʼ 3 Prove intercorso (o Prova Scritta) - Oralecicalese/SO/Lezione1.pdf · Caching – copia delle informazioni in dispositivi di memoria piuʼ veloce; la memoria

5

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

Synchronous Asynchronous

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

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

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

  Il controllore di dispositivo trasferisce blocchi di dati direttamente dal buffer alla memoria centrale senze lʼintervento della CPU.

  Un solo interrupt per blocco di dati viene generato, anzicheʼ un interrupt per byte.

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

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

  Memoria Secondaria – estensione della memoria centrale che fornisce disponibilitaʼ 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 6: ʼ 12:00 – 14:00 ʼ 3 Prove intercorso (o Prova Scritta) - Oralecicalese/SO/Lezione1.pdf · Caching – copia delle informazioni in dispositivi di memoria piuʼ veloce; la memoria

6

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

  La gerarchia della memoria eʼ basata su   Velocitaʼ   Costo   Volatilitaʼ

  Caching – copia delle informazioni in dispositivi di memoria piuʼ veloce; la memoria centrale puoʼ esser considerato lʼultimo livello di cache per la memoria secondaria.

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

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

  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 piuʼ veloci

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

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

progettazione:   Dimensione e sostituzione dei dati della Cache

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

Page 7: ʼ 12:00 – 14:00 ʼ 3 Prove intercorso (o Prova Scritta) - Oralecicalese/SO/Lezione1.pdf · Caching – copia delle informazioni in dispositivi di memoria piuʼ veloce; la memoria

7

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

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

  Sistemi Multiprocessore devono garantire, in hardware, la coerenza tra le cache cosiʼ che tutte le CPUs dispongano del valore piuʼ recente nella loro cache

  Nei sistemi distribuiti la situazione ʻ piuʼ complessa   Posso esistere diverse copie dello stesso dato   Esistono diverse soluzioni per gestire tali complicazioni

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

  Multiprogrammazione necessaria per lʼefficienza   Un unico utente non puoʼ tenere impegnata la 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 eʼ 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 di MP: la CPU passa

frequentemente da un jobs allʼaltro cosiʼ 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 piuʼ job sono pronti per essere eseguiti CPU scheduling   Se processi non entrano in memoria, swapping   Virtual memory permette lʼesec.uzione di processi non completamente

in memoria

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

  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

  Instruzioni considerate privilegiate, sono eseguibili solo in modalitaʼ kernel

 System call passano alla modalitaʼ kernel, return dalla system call riporta in modalitaʼ utente

Page 8: ʼ 12:00 – 14:00 ʼ 3 Prove intercorso (o Prova Scritta) - Oralecicalese/SO/Lezione1.pdf · Caching – copia delle informazioni in dispositivi di memoria piuʼ veloce; la memoria

8

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

  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

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

  Un processo eʼ un programma in esecuzione. LʼUnitaʼ base di lavoro del sistema. Programma: entitaʼ passiva, Processo: entitaʼ 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 piuʼ processi (utente e di sistema)

concorrentemente su una o piuʼ CPU   Concorrenza: multiplexing della CPUs tra processi / threads

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

Il sistema operativo eʼ 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.32 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7th Edition

  I dati devono essere in memoria percheʼ la CPU possa usarli   … cosiʼ 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   Attivitaʼ 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 9: ʼ 12:00 – 14:00 ʼ 3 Prove intercorso (o Prova Scritta) - Oralecicalese/SO/Lezione1.pdf · Caching – copia delle informazioni in dispositivi di memoria piuʼ veloce; la memoria

9

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

  SO fornisce una visione logical uniforme dei sistemi di memoria sec.   Unitaʼ logica di memorizzazione: file (proprietaʼ astratte)   Ogni supporto corrisponde ad un dispositivo (es., disk drive, tape

drive)  Diverse proprietaʼ in termini di velocitaʼ di accesso, capacitaʼ,

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.34 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7th Edition

  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 eʼ 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)

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

  Il SO deve tra lʼaltro nascondere le peculiaritaʼ fisiche dellʼhardware   Il sottosistema di I/O si occupa di

  Gestire il buffering (memorizzazione temporanea dei datidurante il trasferimento), caching (memorizzazione di parte dei dati in memoria piuʼ veloci), spooling (sovrapposizione di output di un processo con lʼinput di un altro)

  Interfacce per piuʼ device-driver   Driver specifici per particolari dispositivi hardware

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

  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: eʼ 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 10: ʼ 12:00 – 14:00 ʼ 3 Prove intercorso (o Prova Scritta) - Oralecicalese/SO/Lezione1.pdf · Caching – copia delle informazioni in dispositivi di memoria piuʼ veloce; la memoria

10