Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
-
Upload
paride-ferrario -
Category
Documents
-
view
222 -
download
1
Transcript of Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
![Page 1: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/1.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/2.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/3.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/4.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/5.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/6.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/7.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/8.jpg)
Software e macchine virtuali
Hardware
Macchina virtuale
Utente
![Page 9: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/9.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/10.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/11.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/12.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/13.jpg)
Gerarchia di macchine virtuali
Hardware
Utente
![Page 14: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/14.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/15.jpg)
SISTEMA OPERATIVO
![Page 16: Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/16.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/17.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/18.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/19.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/20.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/21.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/22.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/23.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/24.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/25.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/26.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/27.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/28.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/29.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/30.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/31.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/32.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/33.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/34.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/35.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/36.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/37.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/38.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/39.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/40.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/41.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/42.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/43.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/44.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/45.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/46.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/47.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/48.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/49.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022070312/5542eb64497959361e8cdce4/html5/thumbnails/50.jpg)
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