La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco."— Transcript della presentazione:

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

2 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

3 Software I computer sono programmabili: svolgono compiti diversi in base alle istruzioni contenute nei programmi Lhardware in se puo svolgere solo semplici operazioni

4 Funzioni del software Astrarre dallorganizzazione fisica della macchina --> usare nello stesso modo macchine diverse dal punto di vista dellhardware Interagire con la macchina tramite un linguaggio semplice …

5 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à, …)

6 Software o hardware? Se non ci fosse il software si dovrebbe usare lhardware direttamente: lutente dovrebbe saper programmare il programmatore dovrebbe conoscere lhardware e il suo linguaggio macchina ogni programma sarebbe scritto come sequenza di 0 e 1 ad ogni modifica dellhardware occorrerebbe riscrivere parte del programma

7 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 dallutente tramite semplici interazioni con questultimo

8 Software e macchine virtuali Hardware Macchina virtuale Utente

9 Macchine virtuali Lutente 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 lhardware (linguaggio macchina)

10 Software di base = sistema operativo Lelaboratore (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 lelaboratore con cui lutente interagisce

11 Software di base = sistema operativo La macchina virtuale offre il comando di stampa file 1.Verifica se è un comando valido 2.Lo traduce in una sequenza di comandi per la macchina hadware 3.Genera (o trova) la sequenza di istruzioni corrispondente 4.Restituisce allutente le informazioni relative

12 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 dallutente): iniziano con programmi in linguaggio macchina generico e finiscono con il linguaggio dellutente

13 Gerarchia di macchine virtuali Hardware Utente

14 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

15 SISTEMA OPERATIVO

16 Funzioni del sistema operativo Accendere e configurare la macchina (bootstrap) Gestire il processore Gestire le memorie (principale, virtuale, secondaria) Consentire laccesso alle informazioni in memoria secondaria (file system) Gestire le risorse e dispositivi Consentire linterazione con lutente (interfaccia / GUI del SO)

17 Parti del SO Comprende un serie di livelli che forniscono funzioni e servizi: Kernel e livelli vicini allhardware (in linguaggio macchina) - gestione delle risorse di calcolo e memorie Livelli alti (in linguaggio ad alto livello) - interazione uomo-macchina

18 Funzioni del SO Avviamento dellelaboratore e creazione dellambiente virtuale (bootstrap) Gestione del processore Gestione delle memorie (principale, virtuale, secondaria) Gestione delle periferiche di I/O Interazione con lutente

19 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

20 Bootstrap Quindi nel momento dellaccensione 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

21 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

22 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

23 Bootstrap Operazioni di inizializzazione del SO: Identificazione dei dispositivi di memoria secondaria Identificazione periferiche di I/O Inizializzazione dei relativi programmi di gestione

24 Bootstrap 1 1.Accensione 2.La CPU esegue il BIOS leggendolo dalla memoria principale ROM

25 Bootstrap Il BIOS cerca il SO nellordine nei vari dispositivi di memoria secondaria: 1.Sul floppy (o CD) 2.Sullhard disk (nella posizione del SO) 3.Se occorre viene proposta la scelta di SO In questo modo il SO puo essere installato anche dallesterno (ad es. la prima volta o in caso di corruzione del SO)

26 Bootstrap 1 Riassumendo il bootstrap: Accensione La CPU esegue il BIOS leggendolo dalla memoria principale ROM

27 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 lutente vede linterfaccia del SO e puo iniziare a lavorare

28 Bootstrap Gestire il processore Gestire la memoria Gestire le periferiche Gestire il fle system Creare linterfaccia

29 Bootstrap Esecuzione di programmi anti-virus: Verifica della memoria principale Eliminazione e/o segnalazione dei virus (programmi di disturbo e danneggiamento dellelaborazione)

30 Funzioni del SO Avviamento dellelaboratore e creazione dellambiente virtuale (bootstrap) Gestione del processore Gestione delle memorie (principale, virtuale, secondaria) Gestione delle periferiche di I/O Interazione con lutente

31 Gestione del processore Il compito del processore (CPU) è di eseguire programmi Il compito del SO e di gestire la CPU Un programma in esecuzione si dice processo Il compito del SO è gestire i processi

32 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

33 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

34 SO mono-tasking Eseguono un solo processo per volta I programmi sono eseguiti sequenzialmente (il programma P i+1 viene mandato in esecuzione quando P i è terminato) Es.: MS/DOS

35 SO mono-tasking Limiti: Lutente 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, lutilizzo del processore non è ottimale

36 Verso i SO multi-tasking Una soluzione per superare i limiti dei sistemi mono-tasking: Esecuzione contemporanea di più processi (quando P x è in attesa, si esegue P y ) su un singolo processore Maggiore il numero dei processi attivi, maggiore lutilizzo del processore

37 SO multi-tasking MA ATTENZIONE Ad ogni istante esiste sempre un solo processo in esecuzione Gli utenti hanno limpressione dellesecuzione contemporanea di più processi/compiti (soprattutto se lalternanza tra processi è frequente)

38 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

39 Funzioni del SO Avviamento dellelaboratore e creazione dellambiente virtuale (bootstrap) Gestione del processore Gestione delle memorie (principale, virtuale, secondaria) Gestione delle periferiche di I/O Interazione con lutente

40 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

41 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

42 Gestione della memoria reale Quando ci sono più processi in esecuzione (SO multi-tasking), come si suddivide la memoria tra processi ??? SO Processo 1 … Processo n

43 Gestione della memoria reale Tecniche utilizzate dai SO multi-tasking: Partizioni multiple con allocazione contigua (AC) - suddivisione in partizioni, ogni partizione contiene lintera immagine di un processo Allocazione non contigua (ANC) - suddivisione in parti dellimmagine di un processo

44 Partizioni multiple con AC Problemi: Numero partizioni Partizioni fisse o variabili Criteri di scelta della partizione Come proteggere i processi luno dallaltro

45 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

46 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

47 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)

48 Frammentazione della memoria Interna: limmagine 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

49 Gestione della memoria reale Tecniche utilizzate dai SO multi-tasking: Partizioni multiple con allocazione contigua (AC) - suddivisione in partizioni, ogni partizione contiene lintera immagine di un processo Allocazione non contigua (ANC) - suddivisione in parti dellimmagine di un processo

50 Allocazione Non Contigua Limmagine 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


Scaricare ppt "Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco."

Presentazioni simili


Annunci Google