50
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Embed Size (px)

Citation preview

Page 1: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Software e sistema operativo

19-22/5/08Informatica applicata B

Cristina Bosco

Page 2: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Software

È un insieme di programmi che permettono di trasformare un insieme di circuiti elettronici (= hardware) in un oggetto in grado di svolgere delle funzioni diverse e per diversi tipi di utenti

Page 3: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Software

I computer sono programmabili: svolgono compiti diversi in base alle

istruzioni contenute nei programmi

L’hardware in se’ puo’ svolgere solo semplici operazioni

Page 4: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Funzioni del software

• Astrarre dall’organizzazione fisica della macchina --> usare nello stesso modo macchine diverse dal punto di vista dell’hardware

• Interagire con la macchina tramite un linguaggio semplice

Page 5: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Funzioni del software

…• Programmare la macchina tramite un

linguaggio semplice e ad alto livello• Avere un insieme di programmi

applicativi per svolgere vari compiti (elaborare testi ed immagini, mantenere archivi, gestire contabilità, …)

Page 6: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Software o hardware?

Se non ci fosse il software si dovrebbe usare l’hardware direttamente:

• l’utente dovrebbe saper programmare• il programmatore dovrebbe conoscere

l’hardware e il suo linguaggio macchina• ogni programma sarebbe scritto come

sequenza di 0 e 1• ad ogni modifica dell’hardware

occorrerebbe riscrivere parte del programma

Page 7: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Software e macchine virtuali

La presenza di un livello software offre la possibilità di definire macchine virtuali utilizzando gli strumenti della macchina hardware reale

Le macchine virtuali svolgono le funzionalità richieste dall’utente tramite semplici interazioni con quest’ultimo

Page 8: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Software e macchine virtuali

Hardware

Macchina virtuale

Utente

Page 9: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Macchine virtuali

L’utente interagisce con la macchina virtuale utilizzando un linguaggio ad alto livello (interfaccia grafica/testuale)

La macchina virtuale traduce ogni comando del linguaggio ad alto livello in una serie di comandi per l’hardware (linguaggio macchina)

Page 10: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Software di base = sistema operativo

L’elaboratore (hardware) risponde solo a comandi scritti nel suo linguaggio macchina

Il software di base: • è un insieme di programmi in linguaggio

macchina ed in liguaggio ad alto livello• crea la macchina virtuale “sopra”

l’elaboratore con cui l’utente interagisce

Page 11: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Software di base =sistema operativo

La macchina virtuale offre il comando di ‘stampa file’

1. Verifica se è un comando valido2. Lo traduce in una sequenza di comandi

per la macchina hadware3. Genera (o trova) la sequenza di

istruzioni corrispondente4. Restituisce all’utente le informazioni

relative

Page 12: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Stratificazione del software

• Software di base: specializzato (per un linguaggio macchina X) che traduce in un linguaggio macchina generico

• Strati di software (di base o creati dall’utente): iniziano con programmi in linguaggio macchina generico e finiscono con il linguaggio dell’utente

Page 13: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Gerarchia di macchine virtuali

Hardware

Utente

Page 14: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Cosa non puo’ fare il software?

• Una macchina virtuale può eseguire tutte e sole le funzioni per le quali si può trovare una traduzione in linguaggio macchina

• Una funzione non eseguibile dalla macchina fisica, non sarà eseguibile neppure sovrapponendo una gerarchia di macchine virtuali

Page 15: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

SISTEMA OPERATIVO

Page 16: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Funzioni del sistema operativo

• Accendere e configurare la macchina (bootstrap)

• Gestire il processore• Gestire le memorie (principale, virtuale,

secondaria)• Consentire l’accesso alle informazioni in

memoria secondaria (file system)• Gestire le risorse e dispositivi• Consentire l’interazione con l’utente

(interfaccia / GUI del SO)

Page 17: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Parti del SO

Comprende un serie di livelli che forniscono funzioni e servizi:

• Kernel e livelli vicini all’hardware (in linguaggio macchina) - gestione delle risorse di calcolo e memorie

• Livelli alti (in linguaggio ad alto livello) - interazione uomo-macchina

Page 18: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Funzioni del SO

• Avviamento dell’elaboratore e creazione dell’ambiente virtuale (bootstrap)

• Gestione del processore• Gestione delle memorie (principale,

virtuale, secondaria)• Gestione delle periferiche di I/O• Interazione con l’utente

Page 19: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Bootstrap

Il SO deve trovarsi in una memoria non volatile, quindi nella memoria secondaria

MA la CPU esegue solo programmi che si trovano in memoria principale (RAM)

PERTANTO il bootstrap comporta il caricamento del SO nella RAM

Page 20: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Bootstrap

Quindi nel momento dell’accensione della macchina, il SO si trova nella memoria secondaria

PROBLEMA:Il software che si occupa di trasferire i

dati dalla memoria secondaria alla memoria principale e’ il SO e se il SO non si trova nella RAM non puo’ essere eseguito

Page 21: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Bootstrap

SOLUZIONE:esiste un piccolo programma detto BIOS

che ha la sola funzione di caricare (la prima parte di) il SO dalla memoria secondaria

BIOS deve trovarsi nella memoria principale, ma non in quella volatile (RAM), bensi’ nella ROM

Page 22: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Bootstrap

SOLUZIONE alternativa:mettere tutto il SO nella ROM

NO non e’ accettabile: la ROM e’ di sola lettura e il SO deve

essere modificato talvolta, ad es. con nuovi settaggi o aggiunta di patch o upgrade

Page 23: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Bootstrap

Operazioni di inizializzazione del SO:• Identificazione dei dispositivi di

memoria secondaria• Identificazione periferiche di I/O• Inizializzazione dei relativi programmi

di gestione

Page 24: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Bootstrap 1

1. Accensione2. La CPU esegue il BIOS leggendolo

dalla memoria principale ROM

Page 25: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Bootstrap

Il BIOS cerca il SO nell’ordine nei vari dispositivi di memoria secondaria:

1. Sul floppy (o CD)2. Sull’hard disk (nella posizione del SO)3. Se occorre viene proposta la scelta di

SO In questo modo il SO puo’ essere

installato anche dall’esterno (ad es. la prima volta o in caso di corruzione del SO)

Page 26: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Bootstrap 1

Riassumendo il bootstrap:• Accensione• La CPU esegue il BIOS leggendolo

dalla memoria principale ROM

Page 27: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Bootstrap 2

- la CPU esegue il BIOS (letto nella ROM)

- la CPU carica il SO dalla memoria secondaria alla RAM

- la CPU esegue il SO - ora l’utente vede l’interfaccia del SO

e puo’ iniziare a lavorare

Page 28: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Bootstrap

• Gestire il processore• Gestire la memoria• Gestire le periferiche• Gestire il fle system• Creare l’interfaccia

Page 29: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Bootstrap

Esecuzione di programmi anti-virus:• Verifica della memoria principale• Eliminazione e/o segnalazione dei

virus (programmi di disturbo e danneggiamento dell’elaborazione)

Page 30: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Funzioni del SO

• Avviamento dell’elaboratore e creazione dell’ambiente virtuale (bootstrap)

• Gestione del processore• Gestione delle memorie (principale,

virtuale, secondaria)• Gestione delle periferiche di I/O• Interazione con l’utente

Page 31: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Gestione del processore

Il compito del processore (CPU) è di eseguire programmi

Il compito del SO e’ di gestire la CPUUn programma in esecuzione si dice

processoIl compito del SO è gestire i processi

Page 32: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Gestione della CPU e Tipi di SO - numero utenti

Sistemi mono-utente, senza sistemi di protezione delle informazioni

Sistemi multi-utente, con sistemi di protezione delle informazioni

Page 33: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Gestione della CPU e Tipi di SO - numero di task

Sistemi mono-tasking (una sola applicazione alla volta), senza sistemi di protezione delle informazioni

Sistemi multi-tasking (piu’ applicazioni alla volta), con sistemi di protezione delle informazioni

Page 34: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

SO mono-tasking

• Eseguono un solo processo per volta • I programmi sono eseguiti

sequenzialmente (il programma Pi+1

viene mandato in esecuzione quando Pi è terminato)

• Es.: MS/DOS

Page 35: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

SO mono-tasking

Limiti:• L’utente deve sequenzializzare i

programmi, e se sono più utenti??? (SO mono/multi-utente)

• Dal momento che ogni processo alterna fasi di esecuzione e di attesa, l’utilizzo del processore non è ottimale

Page 36: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Verso i SO multi-tasking

Una soluzione per superare i limiti dei sistemi mono-tasking:

• Esecuzione contemporanea di più processi (quando Px è in attesa, si esegue Py) su un singolo processore

• Maggiore il numero dei processi attivi, maggiore l’utilizzo del processore

Page 37: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

SO multi-tasking

MA ATTENZIONE• Ad ogni istante esiste sempre un solo

processo in esecuzione• Gli utenti hanno l’impressione

dell’esecuzione contemporanea di più processi/compiti (soprattutto se l’alternanza tra processi è frequente)

Page 38: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

SO multi-tasking

Come si fa a vedere i processi su un computer?

Es. in Windows Ctrl + Alt + Canc consente di vedere il TASK MANAGER che mostra i processi in esecuzione e quanta memoria utilizzano ad ogni istante del tempo

Page 39: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Funzioni del SO

• Avviamento dell’elaboratore e creazione dell’ambiente virtuale (bootstrap)

• Gestione del processore• Gestione delle memorie (principale,

virtuale, secondaria)• Gestione delle periferiche di I/O• Interazione con l’utente

Page 40: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Gestione della memoria reale

Una porzione fissata della RAM è dedicata a contenere il SO:

• Utilizzo di un registro fence per delimitare tale porzione

• Sistemi per bloccare violazioni della porzione

Page 41: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Gestione della memoria reale

La parte della memoria principale che non contiene SO è utilizzata dai processi:

• Il processo in esecuzione si trova nella memoria principale

SO

Processo

Page 42: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Gestione della memoria reale

Quando ci sono piùprocessi in esecuzione(SO multi-tasking), come si suddivide la memoria tra processi

???

SO

Processo1

Processon

Page 43: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Gestione della memoria reale

Tecniche utilizzate dai SO multi-tasking:• Partizioni multiple con allocazione

contigua (AC) - suddivisione in partizioni, ogni partizione contiene l’intera immagine di un processo

• Allocazione non contigua (ANC) - suddivisione in parti dell’immagine di un processo

Page 44: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Partizioni multiple con AC

Problemi:• Numero partizioni• Partizioni fisse o variabili• Criteri di scelta della partizione• Come proteggere i processi l’uno

dall’altro

Page 45: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Partizioni multiple con AC

• Partizioni fisse:– Numero e dimensione fissata

durante la configurazione del SO

• Partizioni variabili:– Numero e dimensione dipendono dai

processi caricati in memoria

Page 46: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Partizioni multiple con AC

Partizioni fisse:

– Numero e dimensione delle partizioni fissata durante la configurazione del SO

– Problemi di frammentazione interna + impossibilità di esecuzione di processi molto grandi

Page 47: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Partizioni multiple con AC

Partizioni variabili:

– Numero e dimensione delle partizioni fissata durante il caricamento dei processi

– Problemi di frammentazione esterna + criteri di scelta della partizione + necessità di deframmentare (operazione lunga e costosa)

Page 48: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Frammentazione della memoria

• Interna: l’immagine del processo non occupa tutta la

partizione in cui è caricata - tipico delle partizioni fisse

• Esterna: lo spazio tra partizioni non è sufficiente per

caricarvi un processo - tipico delle partizioni variabili

Page 49: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Gestione della memoria reale

Tecniche utilizzate dai SO multi-tasking:• Partizioni multiple con allocazione

contigua (AC) - suddivisione in partizioni, ogni partizione contiene l’intera immagine di un processo

• Allocazione non contigua (ANC) - suddivisione in parti dell’immagine di un processo

Page 50: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco

Allocazione Non ContiguaL’immagine di un processo può essere

spezzata (a condizione che si mantenga traccia della posizione dei suoi pezzi) tramite:

• Segmentazione (suddivisione secondo criteri logici > pezzi di dimensione variabile) -frammentazione esterna

• Paginazione (suddivisione in pezzi di dimensione fissa) - (limitata) frammentazione interna