Prestazioni e affidabilità dei
dischi
 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).
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)
Diagramma a cipolla
Struttura del SO
6. Applicazioni
5. Software base
4. Interprete
3. File system
2. I/O
1. Memoria
Macchina
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à)
Struttura del SO
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
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
File system: gerarchia
C:\
Programmi
Giochi
Civ.exe
Projects
Tesi.doc
Report.tex
Config.sys
Tabella.xls
File system: gerarchia
C:\
Programmi
Giochi
Projects
Tesi.doc
Civ.exe
C:\Programmi\Giochi\Civ.exe
Report.tex
Config.sys
Tabella.xls
File system: gerarchia
C:\
Programmi
Giochi
Civ.exe
Projects
Tesi.doc
Report.tex
Config.sys
Tabella.xls
C:\Projects\Report.tex
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
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
assegna l’accesso alle risorse di
calcolo per un certo tempo (slot
temporale) al processo “Giochi”
SO
Processi attivi
Giochi
Internet
Matematica
il processo cui è assegnato lo slot
accede alla CPU e porta avanti il
suo compito
CPU
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
Finito il tempo concesso, il SO
interrompe il processo “Giochi”, e lo
passa al processo “Internet”, secondo
nella scala di priorità
SO
Processi attivi
Giochi
Internet
Matematica
CPU
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
Ora toccherebbe al processo
“Matematica”, ma una interruzione dal
processo “Giochi” che ha priorità più
alta, fa cambiare l’ordine al SO
SO
Processi attivi
Giochi
Internet
Matematica
CPU
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
Una volta gestita l’interruzione, e
assegnato al processo a più alta
priorità uno slot ulteriore, è il turno del
processo “Matematica”
SO
Processi attivi
Giochi
Internet
Matematica
CPU
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
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
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)
Sistemi operativi: DOS
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
Sistemi operativi: Unix
 Sviluppato negli anni ’70 presso i Bell
Labs
 Windows XP
1) Multi task
2) Multi utente
3) Interfaccia grafica a finestre
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
Scarica

Lezione02