La memoria secondaria E’ di solito un disco rigido che contiene dati e programmi in
modo permanente (può essere anche un cd-rom, floppy disk, etc).
Tempi di accesso:– Floppy: O(100) ms– Hard disk: O(10) ms
Programmi e dati risiedono sul disco rigido e vengono caricati nella RAM quando è necessario per poi tornarvi aggiornati se e quando necessario.
La memoria secondaria - 3
Tempo di accesso a un settore:
SEEK+LATENCY+TRANSMISSION
SEEK = ricerca della traccia
LATENCY = ricerca del settore da trasferireTRANSMISSION = trasmissione del settore
La memoria secondaria - 4
EsempioAccesso ad un settore di 0.5 Kb per un disco che abbia
SEEK = 9msVelocità di rotazione = 7200 rpmTRANSMISSION = 4 Mb/s
0.009+0.5*60/7200+0.5/4000 = 13.3 ms
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
La memoria ROMROM (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 OnlyMemory)
– FLASH (si cancella per blocchi non per byte come EEPROM)
La scheda madre
• La CPU, la memoria primaria e secondaria e le altre periferiche sono interconnesse mediante un insieme di linee elettriche che formano un bus
• I dati transitano lungo il bus, dalla memoria e dai dispositivi periferici verso la CPU e viceversa
• La scheda madre contiene il bus e gli alloggiamenti per la CPU, la memoria primaria e secondaria e la schede per il controllo delle periferiche
Sistema operativo (SO)Il calcolatore elabora informazioni codificate in sequenza di bitI dispositivi si interfacciano con il calcolatore tramite complessi protocolli di comunicazioneIl sistema operativo astrae questa complessità facilitando l’uso e la gestione del calcolatore
1. Interfaccia (astrazione dei dispositivi)2. Multitasking - gestione dei processi3. Gestione degli accessi e dei privilegi4. Gestione delle risorse – memoria/memoria virtuale
Struttura del SO
Macchina
1. Memoria
2. I/O
3. File system
4. Interprete
5. Software base
6. Applicazioni
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à)
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 systemC:\
Programmi Projects Config.sys
Giochi Tesi.doc Report.tex Tabella.xls
Civ.exe
C:\Programmi\Giochi\Civ.exe
File systemC:\
Programmi Projects Config.sys
Giochi Tesi.doc Report.tex Tabella.xls
Civ.exe 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
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
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à
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
Ora toccherebbe al processo “Matematica”, ma una interruzione dal processo “Giochi” che ha priorità piùalta, fa cambiare l’ordine al SO
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
Una volta gestita l’interruzione, e assegnato al processo a più alta priorità uno slot ulteriore, è il turno del processo “Matematica”
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 OperatingSystem) - 1981
1) Mono task2) Mono utente3) Nessuna interfaccia grafica (simile al
prompt di comandi WinXP)
Sistemi operativi: Windows
Inizia nel 1985 come interfaccia grafica per MS-DOS ispirato a MAC-OS (Win 3.11)
Windows XP1) Multi task2) Multi utente3) Interfaccia grafica a finestre
Sistemi operativi: Unix
Sviluppato negli anni ’70 presso i BellLabs
Windows XP1) Multi task2) Multi utente3) Interfaccia grafica a finestre