Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare...

23
le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo più dischi: - per servire in parallelo più richieste, - per servire in parallelo una singola richiesta (se i dati sono distribuiti su più dischi); anche l’affidabilità dei dischi è limitata, - avendo un numero elevato di dischi poco costosi, si può anche aumentare la affidabilità, introducendo ridondanza (per rilevare eventuali errori, ma anche per correggerli). Prestazioni e affidabilità dei dischi

Transcript of Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare...

Page 1: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata,

- per aumentare le prestazioni si può pensare di far operare in parallelo più dischi:

- per servire in parallelo più richieste,- per servire in parallelo una singola richiesta (se i dati sono

distribuiti su più dischi); anche l’affidabilità dei dischi è limitata,

- avendo un numero elevato di dischi poco costosi, si può anche aumentare la affidabilità, introducendo ridondanza (per rilevare eventuali errori, ma anche per correggerli).

Prestazioni e affidabilità dei dischi

Page 2: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

La memoria ROM

ROM (memoria di sola lettura read only memory)La ROM contiene le informazioni necessarie

all’avvio del computer e conserva questi dati anche quando il computer viene spento (BIOS)

– PROM (Programmable Read Only Memory)

– EPROM (Erasable Programmable Read Only Memory)

– EEPROM (Electrically Erasable Programmable Read Only Memory)

– FLASH (si cancella per blocchi non per byte come EEPROM)

Page 3: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Diagramma a cipolla

Page 4: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Struttura del SO

Macchina

1. Memoria

2. I/O

3. File system

4. Interprete

5. Software base

6. Applicazioni

Page 5: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Gestore di Memoria• Gestire le richieste di risorse di memoria

• Liberare le risorse non più utilizzate

• Gestire la memoria virtuale (swap su disco)

Se la RAM non è sufficiente per i processi attivi, il SO organizza l’ultilizzo di parte della memoria di massa come se fosse RAM aggiuntiva:• prestazioni inferiori• costo inferiore• memoria dinamica (aumenta o diminuisce a seconda delle necessità)

Page 6: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Struttura del SO

Page 7: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Gestione dei dispositivi di I/O

Consente l’utilizzzo dei dispositivi base (tastiera, schermo)

Astrazione dei dispositivi (driver): consente che programmi e utenti interagiscano con i dispositivi in modo naturale• Es. 1: accedere al disco tramite file e non dovendo specificare le

coordinate (cil, trk, sec)• Es. 2: ottenere le coordinate del puntatore del mouse e non gli

spostamenti dall’ultimo aggiornamento

Permette all’utente di organizzare le informazioni (file, cartelle) in maniera naturale

Page 8: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

File system

Permette l’organizzazione dei dati non preoccupandosi del livello fisico del loro immagazzinamento

1) Organizzazione dei dati in file, che rappresentano un insieme logico e finito di informazione, e cartelle (contenitori di file)

2) Organizzazione gerarchica

Page 9: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

File system: gerarchia

C:\

Programmi Projects Config.sys

Giochi Tesi.doc Report.tex Tabella.xls

Civ.exe

Page 10: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

File system: gerarchia

C:\

Programmi Projects Config.sys

Giochi Tesi.doc Report.tex Tabella.xls

Civ.exe

C:\Programmi\Giochi\Civ.exe

Page 11: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

File system: gerarchia

C:\

Programmi Projects Config.sys

Giochi Tesi.doc Report.tex Tabella.xls

Civ.exe C:\Projects\Report.tex

Page 12: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Multi tasking• La percezione dell’utente è più lenta della

velocità del processore:– voglio fare in modo che molti processi

sembrino essere eseguiti allo stesso tempo

Time sharing:Il sistema operativo assegna un tempo definito (slot) per utilizzare le risorse del processore ad ogni processo, a turno

Page 13: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Multi tasking: gestione dei processi

Il SO divide il tempo di calcolo disponibile in tanti “slot” che vengono assegnati a turno ai vari processi attivi. Controllo tramite priorità e interruzioni

CPU

SO

Processi attivi

GiochiInternet

Matematica

assegna l’accesso alle risorse di calcolo per un certo tempo (slot temporale) al processo “Giochi”

il processo cui è assegnato lo slot accede alla CPU e porta avanti il suo compito

Page 14: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Multi tasking: gestione dei processi

Il SO divide il tempo di calcolo disponibile in tanti “slot” che vengono assegnati a turno ai vari processi attivi. Controllo tramite priorità e interruzioni

CPU

SO

Processi attivi

GiochiInternet

Matematica

Finito il tempo concesso, il SO interrompe il processo “Giochi”, e lo passa al processo “Internet”, secondo nella scala di priorità

Page 15: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Multi tasking: gestione dei processi

Il SO divide il tempo di calcolo disponibile in tanti “slot” che vengono assegnati a turno ai vari processi attivi. Controllo tramite priorità e interruzioni

CPU

SO

Processi attivi

Giochi

Internet

Matematica

Ora toccherebbe al processo “Matematica”, ma una interruzione dal processo “Giochi” che ha priorità più alta, fa cambiare l’ordine al SO

Page 16: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Multi tasking: gestione dei processi

Il SO divide il tempo di calcolo disponibile in tanti “slot” che vengono assegnati a turno ai vari processi attivi. Controllo tramite priorità e interruzioni

CPU

SO

Processi attivi

Giochi

Internet

Matematica

Una volta gestita l’interruzione, e assegnato al processo a più alta priorità uno slot ulteriore, è il turno del processo “Matematica”

Page 17: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Far partire il computer: bootstrapping

• Il barone di Munchausen sosteneva di essersi salvato da una palude sollevandosi sulle cinghie dei suoi stivali (bootstrap)

• Per analogia, all’accensione del computer, delle semplici istruzioni iniziali sono in grado di costruire sistemi e applicazioni complesse

Page 18: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Far partire il computer: bootstrapping

• Esecuzione del BIOS (basic input/output system)– diagnostica hardware– caricare le istruzioni che risiedono in una

zona riservata del disco rigido (boot sector) che caricano il sistema operativo

Page 19: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Sistemi operativi: DOS

MS-DOS (Microsoft Disk Operating System) - 1981

1) Mono task

2) Mono utente

3) Nessuna interfaccia grafica (simile al prompt di comandi WinXP)

Page 20: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Sistemi operativi: DOS

Page 21: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Sistemi operativi: Windows

Inizia nel 1985 come interfaccia grafica per MS-DOS ispirato a MAC-OS (Win 3.11)

Windows XP

1) Multi task

2) Multi utente

3) Interfaccia grafica a finestre

Page 22: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Sistemi operativi: Unix

Sviluppato negli anni ’70 presso i Bell Labs

Windows XP

1) Multi task

2) Multi utente

3) Interfaccia grafica a finestre

Page 23: Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.

Sistemi operativi: Linux

Gratuito e open source, sviluppato inizialmente da Linus Torvalds nel 1991

1) Multi task

2) Multi utente

3) Interfaccia grafica a finestre