+ All Categories
Home > Documents > ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

Date post: 01-May-2015
Category:
Upload: faramundo-del-vecchio
View: 219 times
Download: 1 times
Share this document with a friend
74
ING CIRO RICCIO Lezioni sui SISTEMI OPERA TIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio
Transcript
Page 1: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI1

LEZIONI

SUI

SISTEMI OPERATIVI

Ing. Ciro Riccio

Page 2: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI2

Il sistema operativo

è l’interfaccia uomo-macchina.

Page 3: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI3

Page 4: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI4

E’ il programma responsabile del diretto controllo e gestione:

1) dell’ hardware2) delle operazioni di base3) dei processi che vengono eseguiti4) degli accessi degli utenti.

Page 5: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI5

COMPONENTI DI UN SO

1) un gestore di file system che si occupa di esaudire le richieste di accesso alle memorie di massa,2)un gestore di memoria virtuale che alloca pagine di memoria a richiesta e si assicura che questa sia presente nella memoria fisica al momento giusto

Page 6: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI6

COMPONENTI DI UN SO

3) uno scheduler che assicura ai vari processi in esecuzione una ben definita quantità di tempo di elaborazione, 4) uno spooler che accumula i dati da stampare e li stampa in successione,

Page 7: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI7

COMPONENTI DI UN SO

5)una interfaccia utente (shell o GUI) che permette agli esseri umani di interagire con la macchina;6) un kernel, fulcro del sistema, che gestisce il tutto.

Page 8: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI8

Kernel

Il kernel è il cuore di un sistema operativo. Si tratta di un software che ha il compito di fornire ai moduli che compongono il sistema operativo e ai programmi in esecuzione sul computer le funzioni fondamentali ed un accesso controllato all'hardware, sollevandoli dai dettagli della sua gestione.

Page 9: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI9

File systemIl file system è il modo in cui i file sono immagazzinati e organizzati su un dispositivo di archiviazione, come un hard disk o un CD-ROM. Esistono molti tipi di file system, creati per diversi sistemi operativi, per diverse unità di memorizzazione e per diversi usi

Page 10: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI10

Scheduler

Lo scheduler è il componente fondamentale dei sistemi operativi multitasking, cioè quelli in grado di eseguire più processi (task) contemporaneamente.

Page 11: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI11

Lo scheduler si occupa di fare avanzare un processo interrompendone temporaneamente un altro, realizzando così un cambiamento di contesto (context switch). Generalmente computer con un processore sono in grado di eseguire un programma per volta, quindi per poter far convivere più task è necessario usare lo scheduler.

Page 12: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI12

Gestore di memoria

Il gestore di memoria è la componente del sistema operativo che si occupa di gestire ed assegnare la memoria ai processi che ne fanno richiesta.

Page 13: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI13

La gestione della memoria è necessaria per tenere traccia di quanta memoria è impegnata e di quanta invece è disponibile per soddisfare nuove richieste: in mancanza di un sistema di gestione, si avrebbe prima o poi il caso di processi che ne sovrascrivono altri, con gli ovvi inconvenienti.

Page 14: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI14

Interfaccia utente

Si tratta di un programma che permette all'utente di interagire con il computer. Esistono sostanzialmente due famiglie di interfacce utente: interfaccia a linea di comando e interfacce grafiche (GUI).

Page 15: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI15

Spooler di stampa

Lo spooler di stampa è stato storicamente il primo modulo esterno del sistema operativo ad essere implementato, per risolvere il problema della gestione delle stampe su carta.

Page 16: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI16

Infatti, essendo le stampanti elettromeccaniche dei dispositivi molto lenti, i primi programmi per elaboratore dovevano necessariamente sprecare molto tempo di CPU, estremamente prezioso all'epoca, per controllare la stampante ed inviarle i dati.

Page 17: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI17

Quindi venne ideato un programma separato, che girava con una priorità molto bassa e che era visto dagli altri programmi come una normale stampante: in realtà invece lo spooler accumulava i dati che un programma doveva stampare in una apposita area di memoria, e poi si faceva carico del processo di stampa

Page 18: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI18

Gestire le periferiche:

un processo che ha bisogno di accedere ad una periferica manda un interrupt (interrupt software) e si mette in attesa, la CPU passa il controllo al kernel, che provvede all'I/O per conto del processo, poi fa ripartire il processo, o un altro se lo scheduling lo prevede.

Page 19: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI19

Analogamente una periferica che ha finito il suo lavoro ed ha bisogno della CPU ad esempio deve comunicare che l'utente ha battuto un tasto, manda un interrupt (interrupt hardware) alla CPU, la CPU interrompe il processo in corso e passa il controllo al sistema operativo, che tratta i dati letti dalla periferica e fa quanto necessario.

Page 20: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI20

Sistema multiutente

Se un computer può far girare più programmi contemporaneamente, allora può anche accettare comandi da più utenti contemporaneamente…….

Problema………………….

Page 21: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI21

ma fa sorgere una serie di nuovi problemi dal punto di vista della sicurezza del sistema: come distinguere i vari utenti tra loro, come accertarsi che nessun utente possa causare danni agli altri o alla macchina che sta usando ecc.

Page 22: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI22

i diversi sistemi operativi, sono progettati in modo che questo tipo di operazioni avvengano nel più breve tempo possibile e senza “conflitti”

Page 23: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI23

Page 24: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI24

Page 25: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI25

Cos’è un sistema operativo ?

Hardware

Sistema Operativo

Applicazioni

È il livello di SW con cuiinteragisce l’utentee comprende programmi quali :CompilatoriEditori di testiFogli elettroniciSistemi bancariNavigatori per Web…..

Software

È il livello di SW che interagisce direttamentecon l’hw e che si occupa di una uso correttoed efficiente delle risorse fisiche (processore, memorie,periferiche etc.)

WindowsUnix/LinuxMac OS

gcc, Word, PowerPointExcel, ExplorerFotoshop, Gimp

Page 26: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI26

Quali sono le funzioni di un SO ?

• Esegue applicazioni : – carica il programma binario prodotto della compilazione (e

residente su disco) nella RAM, – cede il processore all’applicazione da eseguire

• Facilita l’accesso ai dispositivi di I/O– interagisce con le periferiche facendosi carico di tutti i dettagli

fisici (es. modem, reti, video…)– mette a disposizione operazioni di lettura/scrittura ad alto

livello che possono essere usate senza conoscere i dettagli tecnici della periferica

Page 27: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI27

Quali sono le funzioni di un SO ? (2)

• Archivia dati e programmi : – mette a disposizione dell’utente una visione

astratta della memoria secondaria (il file system basato sulle astrazioni : file/archivi e folder/cartelle)

– gestisce la realizzazione di queste astrazioni sul supporto fisico (disco) gestendo tutti i dettagli legati alla lettura/scrittura dei settori

Page 28: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI28

Quali sono le funzioni di un SO ? (3)

• Gestisce le risorse– ripartisce le risorse disponibili fra le varie applicazioni

(processore, RAM, periferiche)

– evita che ci siano malfunzionamenti dovuti all’uso contemporaneo di risorse

• es: un word processor e un web browser che inviano contemporaneamente dati alla stampante provocano una stampa erronea

– ottimizza le prestazioni scegliendo delle politiche che permettano di sfruttare al meglio tutte le parti del computer

Page 29: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI29

Quali sono le funzioni di un SO ? (4)

• Gestisce malfunzionamenti del sistema– rileva e gestisce situazioni anomale

• es: se il disco ha un settore difettoso, il SO può trasportare automaticamente le informazioni residenti su quel settore da un’altra parte

• es: se un’applicazione cerca di effettuare una operazione non permessa (come leggere i dati di un’altra applicazione) può bloccare l’applicazione segnalando all’utente la situazione erronea

Page 30: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI30

Page 31: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI31

Page 32: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI32

Page 33: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI33

Page 34: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI34

Page 35: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI35

Page 36: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI36

Quali sono le parti di un SO ?

Gestore delprocessore

Gestore dellamemoria

File systemGestore delleperiferiche

Interprete di comandi (shell)Applicazioni

Hw

Interfaccia grafica(desktop)

Page 37: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI37

Stato utente e stato supervisore

• Stato utente : – modalità di funzionamento del computer che

permette l’accesso solo a un numero limitato di risorse

• es : un sottoinsieme delle istruzioni assembler (non si può accedere alle istruzioni che istruiscono le interfacce di I/O), una sola parte della RAM etc.

• Stato supervisore :– modalità che permette l’accesso a tutte le risorse

Page 38: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI38

Stato utente e stato supervisore (2)

Gestore delprocessore

Gestore dellamemoria

File systemGestore delleperiferiche

Interprete di comandi (shell)Applicazioni

Hw

Eseguitiin stato utente

Eseguitiin stato supervisore

Interfaccia grafica(desktop)

Page 39: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI39

Stato utente e stato supervisore (3)

• I programmi che girano in stato utente richiedono servizi al SO tramite invocazione di sottoprogrammi speciali – system call o chiamate di sistema

• Il sistema operativo decide come e quando effettuare il servizio

• Il sistema operativo può interrompere un programma che gira in stato utente per eseguire altri programmi o per effettuare operazioni di ‘gestione’ della macchina

Page 40: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI40

Gestione del processore

Page 41: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI41

Esecuzione di un programma

Data Flow

Codifica in un linguaggio diprogrammazione (C, Java etc)

Programma

Compilatore

Input : programma

Output : rappresentazione comprensibile alla macchina

Eseguibile

Passo 1 :scrivere e compilare il programma

Page 42: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI42

Esecuzione di un programma (2)• Come è organizzata la rappresentazione binaria eseguibile

del programma (spazio di indirizzamento):

testo

dati

Stack/pila

Struttura chepermette di realizzarecorrettamente il meccanismodi chiamata a sottoprogrammi

Codifica binaria delleistruzioni assembler in cuiil programma è stato tradotto

Codificabinaria dei dati

0

232 - 1

È un array di parole !

Page 43: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI43

Esecuzione di un programma (3)• Passo 2 :

– ricopiare lo spazio di indirizzamento di un programma da memoria secondaria a RAM

Sistema Operativo

Spazio programma 1

Area riservata, non accessibilein modalità utente

Una possibile organizzazione della RAMcon più programmi attivicontemporaneamente

0

AmpiezzaRAM - 1

Spazio programma 2

Spazio programma 3

Page 44: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI44

Esecuzione di un programma (4)• Passo 3 :

– modificare il PC del processore in modo che contenga correttamente l’indirizzo della prima istruzione assembler da eseguire nel nostro programma

Sistema Operativo

Spazio programma 1

0

AmpiezzaRAM - 1

Spazio programma 2

Spazio programma 3

440Prima istruzioneda eseguire nel programma 2

È l’indirizzo da scrivere nel PC

Page 45: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI45

Esecuzione di un programma (5)• Quando un programma utente è stato attivato il processore esegue una dopo l’altra le istruzioni assembler che lo compongono • Un programma in esecuzione viene detto ‘processo’ • Problema : Come fa il Sistema Operativo a riprendere il controllo del processore dopo l’attivazione di un processo?

– Terminazione (normale o erronea)– Interruzione

Page 46: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI46

Terminazione di un processo• Un processo termina :

– Quando esegue una istruzione assembler di terminazione

– Quando effettua una operazione illecita (es. cerca di accedere a memoria privata di altri processi)

– Quando c’è un errore che non lo permette di proseguire (es. overflow, etc)

• In tutti questi casi il processore ricomincia automaticamente ad eseguire il sistema operativo ad un indirizzo prefissato

Page 47: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI47

Interruzione di un processo• Il sistema operativo può bloccare un processo in un qualsiasi istante della sua

esecuzione per effettuare qualche operazione di gestione della macchina

• Questo avviene attraverso il meccanismo hardware delle interruzioni

Page 48: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI48

Interruzione di un programma (2)

• Come funzionano le interruzioni– ogni periferica può ‘richiedere attenzione’ inviando un segnale di interruzione usando le linee di controllo del

bus– alla fine dell’esecuzione di ogni istruzione assembler il processore controlla la presenza di una interruzione– se è presente il controllo passa automaticamente al sistema operativo

Page 49: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI49

Il gestore del processore • Nei computer attuali, tutti i programmi che

compongono il SO ed i programmi applicativi ‘avviati’ sono attivi contemporaneamente sul calcolatore (multiprogrammazione)– es : Windows 2000 + Word + cd player ...

• Il gestore del processore si preoccupa di far condividere il processore a tutti i programmi attivi in modo corretto – lo scopo è dare l’impressione che ognuno abbia il suo

processore dedicato

Page 50: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI50

Il gestore del processore (2)

• Si usa la tecnica dei quanti di tempo– es: 3 programmi attivi Prog1, Prog2, Prog3– vengono mandati in esecuzione ciclicamente

Quanto 20-100 ms

Eseguo Prog1 Eseguo Prog2 Eseguo Prog3

Periferica ‘orologio interno’

Eseguo Prog1

Interruzione : il SO riprende il controllo e decide chieseguire nel quanto successivo

Page 51: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI51

Gestione della memoria

Page 52: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI52

Il gestore della memoria

• Tutti i programmi che compongono il SO ed i programmi applicativi attivi usano contemporaneamente la RAM

• Il gestore della memoria si preoccupa di fare condividere la RAM ai vari processi in esecuzione in modo che :– ogni processo abbia il suo spazio privato distinto dagli

altri (e inaccessibile agli altri)

– ogni processo abbia abbastanza memoria per eseguire il proprio algoritmo e raccogliere i suoi dati

Page 53: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI53

Il gestore della memoria (2)• La gestione statica

– ricopiare interamente lo spazio di indirizzamento di un programma da memoria secondaria a RAM all’inizio dell’esecuzione

– abbiamo già visto un esempio :

Sistema Operativo

Spazio programma 1

Area riservata, non accessibilein modalità utente

Una possibile organizzazione della RAMcon più programmi attivicontemporaneamente 0

AmpiezzaRAM - 1

Spazio programma 2

RAM vuota

Page 54: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI54

Il gestore della memoria (3)• Problemi della gestione statica

– non posso girare programmi con spazio di indirizzamento grande della RAM !• Attualmente ogni programma usa almeno 4GB di spazio di indirizzamento, con RAM assai più piccole…

• Soluzione : gestione dinamica (a pagine)– ad ogni istante carico in RAM solo i pezzi che mi servono per l’esecuzione corrente

Page 55: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI55

Il gestore della memoria (4)• Paginazione

– lo spazio di indirizzamento di ogni processo è diviso in ‘fette’ (pagine) tutte della stassa ampiezza

01234..

Programma 1

Pagina : ‘fetta’ dello spazio di indirizzamento (1-4K)

01234..

Programma 2

01234..

Programma 3

Page 56: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI56

Il gestore della memoria (5)• Paginazione

– ad ogni istante solo le pagine necessarie sono caricate in memoria (località!)

Sistema Operativo

RAM vuota

RAM vuota

01234..

Programma 1

01234..

Programma 2

01234..

Programma 3

Page 57: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI57

Gestione delle periferiche

Page 58: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI58

Driver e controller

Ogni periferica è gestita da due entità cooperanti :

• il controller :un dispositivo hardware che colloquia direttamente

con la parte elettrico/meccanica della periferica

• il driver :un programma software che fa parte del sistema

operativo e che conosce le caratteristiche della periferica ed è capace di colloquiare con il controller

Page 59: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI59

Driver e controller (2)

• Solitamente il driver non è sviluppato da chi costruisce il SO (es. Microsoft) ma da chi costruisce il dispositivo

• Quando viene acquistata una nuova periferica il driver corrispondente deve essere inserito nel Sistema Operativo (installazione)– operazione rischiosa, perché se il nuovo driver è difettoso

può rovinare il vostro sistema (il driver essendo nel SO ha accesso a tutta la macchina senza restrizioni!….)

Page 60: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI60

Driver e controller (3)

• Quando si installa un nuovo driver bisogna fornirgli delle informazioni a basso livello per permettergli di colloquiare correttamente con il resto del sistema (configurazione)– es: stabilire quali linee del bus utilizzare per inviare una

interruzione ...

• Periferiche plug&play : quelle per cui la configurazione può essere fatta automaticamente dal sistema– sono generalmente tutte così nei PC odierni

Page 61: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI61

Il File system

Page 62: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI62

File System

• È la parte del SO che – permette di memorizzare dati e programmi in

modo persistente– permette di organizzare dati e programmi in

modo da renderne agevole la localizzazione da parte dell’utente umano

– può essere modificata per cancellare dati obsoleti, aggiornare l’organizzazione etc ..

Page 63: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI63

File System (2)

• Le astrazioni fornite sono : – il file (o archivio) : una sequenza di byte che

contiene dati o programmi rappresentati con una opportuna codifica binaria

– il folder/directory (o cartella) : astrazione che permette di collezionare insieme più file e/o folder

Page 64: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI64

File System (3)

• Esempio : una possibile organizzazione dei file relativi ai diversi corsi che insegno

File:lucidilez1

File:lucidilez2

File:compiti e voti

Folder : inf_gen

Folder : sis_op

Folder : corsi

Page 65: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI65

File System (4)• La struttura è gerarchica (ad albero)

File:lucidilez2

File:compiti e voti

Folder : inf_gen

Folder : corsi

Folder : sis_op

File:lucidilez1

Contenuto delfolder ‘corsi’

Page 66: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI66

File System (5)• La struttura è gerarchica (ad albero)

File:lucidilez2

File:compiti e voti

Folder : inf_gen

Folder : corsi

Folder : sis_op

File:lucidilez1

Contenuti deidue folder inf_gen e sis_op

Page 67: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI67

File

• Come si crea un file– utilizzando una applicazione

• editori di testi per creare file di testo secondo diversi formati (doc,html,text) es. Word

• applicazioni per gestire grandi quantitì di dati persistenti (basi di dati) es. Access

• fogli elettronici es. Excel

– dando comandi diretti al SO• es. chiedendo di duplicare un file esistente (taglia e

incolla …) via shell o interfaccia grafica

Page 68: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI68

File (2)

• Nome di un file– ogni file ha un nome (es lez1.doc, lez2.ppt etc)– il nome deve essere unico nel folder che contiene il

file– la parte dopo il punto (.) si chiama ‘estensione’

di solito l’estensione da informazione sul formato del file e/o sull’applicazione utilizzata per crearlo

lez2.pptestensione

Page 69: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI69

File (3)

• Nome di un file (cont.)– alcuni SO (come Windows) non mostrano

normalmente l’estensione • lez1.doc viene mostrato come ‘lez1’

– tuttavia l’estensione è presente e serve al sistema per capire che tipo di file è e quale applicazione attivare quando desideriamo ‘leggerlo’

• es. un doppio click su un file lez1 attiva automaticamente Word per visualizzarlo

Page 70: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI70

Folder

• Anche i folder sono identificati univocamente da nomi – es inf_gen, corsi– non usano estensioni

• contengono solo informazioni sui file/folder contenuti (il formato di queste dipende dal dal file system usato, e quindi dal SO)

• non dobbiamo discriminare fra codifiche diverse

Page 71: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI71

Folder (2)

• Per creare un folder basta invocare una opportuna funzione del SO – es. scegliere una opportuna opzione (new folder,nuova

cartella) in un menu dell’interfaccia grafica

• Per cancellare file/folder basta invocare una opportuna funzione del SO – es. trascinarli con il mouse fino al cestino

• I file/folder possono essere spostati da un folder all’altro

Page 72: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI72

Sicurezza

• Come evitare che i nostri file siano letti da altri utenti che hanno accesso al sistema?– Assegnare ad ogni utente : Account (nome unico

identificativo) e password (segreta, abbastanza complessa!)

– Ogni file appartiene ad un utente – Il proprietario può specificare se un file può essere letto

o scritto anche da altri– Il file system al momento dell’accesso controlla che

l’operazione sia effettivamente consentita

Page 73: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI73

Sicurezza (2)

• Il superutente (root,administrator)– E’ l’account dell’amministratore del sistema

– Può accedere in maniera non ristretta dappertutto

– I file del sistema operativo sono generalmente dell’utente root e non sono accessibili da nessun altro utente

– …… ovviamente il superutente è oggetto di numerosi tentativi di violazione

• termini come attack, hacker si riferiscono a questo

Page 74: ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI74

Sicurezza (3)

• I vecchi sistemi Windows (3.1,95,98) non avevano alcun meccanismo di protezione– tutto gira in stato kernel

– da cui la facilità di danneggiare il sistema operativo o i file utente (es. con virus)

– molto pericoloso in connessioni Internet non sporadiche

• Windows NT, 2000, XP sono protetti– è necessario però creare utenti non privilegiati

• Sistemi Unix/Linux protetti fino dagli anni 70


Recommended