sistemi operativi1 cosa è un sistema operativo un po di storia il gestore dei processi il gestore...

38
Sistemi Operativi 1 Sistemi Operativi Cosa è un sistema operativo Un po’ di storia Il gestore dei Processi Il gestore della Memoria Il File System

Upload: lisa-randazzo

Post on 01-May-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 1

Sistemi Operativi Cosa è un sistema operativo Un po’ di storia Il gestore dei Processi Il gestore della Memoria Il File System

Page 2: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 2

Il sistema di Elaborazione ...

Dispositivo Fisico

Microprogrammazione

Linguaggio Macchina

Sistema Operativo

Utility di Sistema Interprete dei Comandi

Programmi Applicativi

… E’ costituito da Hardware, Programmi di Sistema e Programmi Applicativi

Page 3: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 3

Cosa è un Sistema Operativo (S.O.)

Le due viste del S.O. Un S.O. ha due funzioni fondamentali,

apparentemente scorrelate S.O. come generatore di macchina

estesa o virtuale S.O. come gestore delle risorse

Page 4: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 4

S.O. come macchina estesa

Punto di vista Top Down (Dall’alto verso il basso) ...

Sia il programmatore che l’utente preferiscono trattare con una ASTRAZIONE della macchina reale

Il S.O. nasconde al programmatore la “verità” sui livelli hardware sottostanti e presenta un sistema semplice di accesso alle funzionalità del sistema nonché un’interfaccia gradevole e amichevole all’utente, maggiori funzionalità, ecc.

Page 5: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 5

Il modello a Macchine Virtuali

M0 S0

M1 S1

M2 S2S2’

M3 M3S3

M4

Weidernann 1971

• Mi rappresenta la macchina • Si lo strato software ad esso sovrapposto

Page 6: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 6

Il modello stratificato di un S.O.

Nucleo

Gestore memoria

Gestore di I/O

File system

Interprete Comandi

Programmi Utente

Page 7: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 7

S.O. come gestore delle risorse

Punto di vista Bottom Up (dal basso verso l’alto) Gestisce tutte le componenti di un sistema

complesso

ALU

Registri

Controllo

ROM

RAM

HD FD

Interfaccia I/O

Monitor

CPU

Memoria

BUS

Interfaccia I/O

Page 8: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 8

Classificazione dei S.O.

MonoTask è presente un solo processo/programma alla volta

Mono Utente è collegato un solo utente alla volta

MonoTask -> Mono Utente MultiTask

sono presenti più processi/programmi alla volta Multi Utente

sono collegati più utenti alla volta

Page 9: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 9

Classificazione dei S.O. (cont.)

MonoTask MS-DOS

MultiTask e Mono Utente Win98

MultiTask e Multi Utente WinXP, Unix, Linux

Page 10: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 10

Turn Around Time Tta

Tta =TO-TI è il tempo che passa tra l’ingresso

dei dati e la produzione dell’output

Elaborazione

Tta

Input Output

TI TO

tI

t

Page 11: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 11

Throughput

E’ proporzionale al numero di lavori eseguiti dal sistema nell’unità di tempo T

E’ detto anche CARICO del SISTEMA

Page 12: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 12

Overhead di Gestione

Sovraccarico Gestionale E’ proporzionale al tempo consumato

dal S.O. per eseguire il suo compito

Page 13: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 13

Un sistema efficiente ...

Throughput Elevato TurnAround Time Basso Overhead Gestionale Basso

Ma …. Quando il Turnaround è basso?

Page 14: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 14

Un po’ di storia

Per comprendere le funzionalità di un S.O. è comodo seguirne l’evoluzione storica

anni 40 assenza di S.O.anni 50 gestione dei lavori a lottianni 60 multiprogrammazionemetà anni 60 Sistemi General Purposea metà anni 70metà anni 70 DB, Reti, S.Distribuitiad oggi

Page 15: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 15

Un semplice schema

CPU

Memoria

Canale OUTPUT

Canale INPUT

Page 16: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 16

Overlap delle attività

CPU

Input

Output

i1

e1

o1

i2

e2 eN

o2 oN

i3

e3 ….

….

….

….overlap

Nk

kNNk

kk eooii,11,1

11 ),max(THROUGHPUT proporzionale a:

Page 17: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 17

Le interruzioni (1)

Con l’introduzione dei canali di dati si risolve il problema della sovrapposizione delle operazioni di I/O ma e’ necessario poter sovrapporre le operazioni di calcolo e quelle di I/O. Per far cio’ e’ necessario che l’attivita’ della

CPU sia interrompibile a seguito di un evento esterno come, ad es., la fine della stampa di un file. Per risolvere questo problema è stato introdotto il concetto delle interruzioni.

Page 18: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 18

Le interruzioni (2)

Le interruzioni sono segnali che, arrivando alla CPU, possono interrompere, se abilitate, l’esecuzione del programma in corso ed eseguire un programma particolare detto Interrupt Service Routine (ISR)

Tramite l’uso dei canali e degli interrupts e’ possibile: sovrapporre le operazioni di input e di output sovrapporre le operazioni di calcolo e quelle di I/O

Per ottenere la sovrapposizione massima tra queste operazioni in memoria si caricano piu’ programmi in modo che, mentre uno e’ impegnato in operazioni di I/O, un altro possa utilizzare la CPU.

Page 19: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 19

MultiTask o Multiprogrammazione

Possibilita’ di caricare piu’ programmi in memoria in grado di condividere l’uso della CPU e delle risorse dell’elaboratore E’ possibile che il S.O per realizzare la

multiprogrammazione non mantenga tutti i programmi in memoria ma li carichi di volta in volta quello piu’ idoneo da un supporto di massa

Tale tecnica, detta di “swapping” e’ meno efficiente ma risulta necessaria quando si hanno problemi di dimensione della memoria

Page 20: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 20

Sistemi Time Sharing (1)

Un processo rimane in running solo per un intervallo fissato di tempo (Time Slice) Per evitare che resti padrone della CPU a

tempo indeterminato Il Supervisore riacquista il controllo

quando è terminata la time slice il programma termina la sua esecuzione il programma avanza una richiesta di I/O

Page 21: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 21

Sistemi Time Sharing (2)

Running

WaitingReady

fine op. I/O

attesa di op. di I/Oattivazione

da parte della CPU (scheduler)

Fine Time Slice

È ovvio che un programma per terminare la sua esecuzione avrà bisogno di più time slice• aumenta il turnaorund time dei singoli processi• migliora il throughput complessivo

Page 22: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 22

Sistemi Real Time

Un sistema Real Time è al servizio di una specifica applicazione controllo centrale nucleare controllo caldaia controllo radar

E ha severi limiti nei tempi di risposta ossia la risposta deve essere prodotta in

tempi utili per l’ambiente esterno L’overhead deve essere ridotto all’osso

Page 23: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 23

Sistemi Real Time(2)

Running

WaitingReady

fine evento

attesa di eventoattivazione

da parte della CPU (scheduler)

pre-emption

Con la pre-emption si garantisce che il processo più importante sia quello running • aumenta overhead• ottimizza turnaorund•il throughput non è significativo

Page 24: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 24

Il Gestore della Memoria

Il compito del Gestore della Memoria è ricordare quali parti della memoria sono

attualmente in uso e quali non lo sono di assegnare la memoria ai processi di deallocare la memoria assegnata di amministrare gli scambi tra memoria

centrale e disco quando la prima non è più in grado di contenere i processi (swapping)

Page 25: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 25

Partizioni Fisse

La memoria è divisa in n partizioni di lunghezza diversa

Problema: qualsiasi spazio non usato è perso

Part. 4

Part. 3

Part. 2

Part. 1Sistema

Operativo

P121P3P4

Coda di Input

Page 26: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 26

Partizioni Variabili

L’allocazione cambia a mano a mano che i processi entrano in memoria e poi la lasciano

Problema: compattazione e garbage collection

S.O.

A

S.O.

A

B

S.O.

A

B

C

S.O.

B

C

S.O.

B

C

D

S.O.

C

D

Page 27: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 27

Paginazione

Lo spazio degli indirizzi viene suddiviso in unità logiche dette pagine alle pagine corrispondono unità di memoria

fisica detti frame Alcune pagine sono i memoria centrale,

altre su disco se si tenta di accedere ad una pagina non in

memoria centrale, viene provocata una eccezione detta page fault.

A questo punto il S.O. prende un frame poco usato, la scarica su disco e carica la pagina richiesta dal disco al frame liberato

Page 28: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 28

Memory Paging e Mapping

Page 29: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 29

Page 30: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 30

File System

Crea una corrispondenza tra l’organizzazione logica dei file e la loro struttura fisica corrispondenza tra spazio logico e spazio fisico scambio dei dati tra memoria di massa e

memoria fisica gestione dei buffer di sistema allocazione dei blocchi sulla memoria di massa condivisione e protezione dei file pipes o canali virtuali di comunicazioni fra

processi.

Page 31: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 31

Il File System

Dal punto di vista dell’utente il File System è caratterizzato dalle operazioni che ha a disposizione, cioè … come si definisce un file come il file vengono denominati e protetti che operazioni sono permesse sui file e così via

Tipizzazione dei file mediante un suffisso (“estensione”). Tipica di

Windows. altre tecniche

Page 32: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 32

Directory

Per tenere traccia dei file, il File system mette a disposizione dell’utente dei directory

contenente un certo numero di elementi, uno per file

Elemento

Elemento

Elemento

Elemento

Nome del filetipo del file

dimensione del fileproprietarioprotezione

tempo di creazioneultima modifica

lista dei blocchi usati

directory

Page 33: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 33

Albero dei directory

E’ molto comune che un utente voglia raggruppare i suoi file in modo logico, attraverso una struttura gerarchica

Radice

A B C

DF1 F2 F3 F2

F1

Page 34: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 34

Memorizzazione dei File

Un file è di solito composto da una sequenza di blocchi

Il File System deve tenere traccia dei blocchi di ciascun file

Negli ambienti Microsoft ad ogni disco è associata una tabella d’allocazione dei file o FAT, contenente un elemento per ogni blocco del disco. Il directory contiene il numero di blocco del

primo blocco dei file

Page 35: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 35

La FAT

XX

EOFFREE

298

FREE4

11FREEEOF

0123456789

1011

6 8 4 2

5 9 11

File A

File B

Directory

File A ext A Riserv. H D 6 4

File B ext A Riserv. H D 5 3

Page 36: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 36

I tipi di FAT

FAT Ogni entry è di 16 bits, cioè 65.535 clusters

max Ogni cluster è max 32768 bytes, il filesystem ha un limite massimo superiore di

2 Gbytes per la dimensione della partizione. FAT32

Ogni entry è di 32 bits, cioè 4.294.836.225 clusters max

Ogni cluster è max 32768 bytes, il filesystem ha un limite massimo superiore di

32 Gbytes per la dimensione della partizione.

Page 37: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 37

I tipi di FAT (cont.)

Dimensioni dei cluster in base alla grandezza delle partizioni  

FAT fino a 128MB -> 2KB

128-256MB -> 4KB256-512MB -> 8KB512-1024MB -> 16KB1024-2048MB -> 32KB

FAT32 512MB-8GB -> 4KB

8GB-16GB -> 8KB16GB-32GB -> 16KB32GB o + -> 32KB

Page 38: Sistemi Operativi1 Cosa è un sistema operativo Un po di storia Il gestore dei Processi Il gestore della Memoria Il File System

Sistemi Operativi 38