La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali.

Presentazioni simili


Presentazione sul tema: "Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali."— Transcript della presentazione:

1 Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali

2 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 2 Indice Architettura Gestione dei processi Gestione della memoria centrale Driver Gestione dei file

3 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 3 Il sistema operativo E uno strato software che opera direttamente sullhardware Isola gli utenti dai dettagli dellhardware Mono-utente o multi-utente E organizzato a strati: –Architettura a buccia di cipolla –Ogni strato costituisce una macchina virtuale Programmi utente Interprete comandi attivazione programmi dutente o di sistema File system controllo e gestione degli accessi a file Gestione delle periferiche gestione di ingresso/uscita da periferica Gestione della memoria allocazione e gestione della memoria Gestione dei processi (nucleo) gestione dei processi e delle interruzioni Macchina fisica Kernel

4 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 4 Funzioni del sistema operativo Il gestore dei processi (o nucleo) è responsabile dellesecuzione dei programmi da parte dellunità di elaborazione Il gestore della memoria ha la funzione di allocare la memoria e partizionarla tra i vari programmi I driver sono responsabili delle operazioni di ingresso/uscita che coinvolgono le periferiche Il file system è responsabile della gestione dei file in memoria di massa Linterprete comandi consente allutente di attivare i programmi

5 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 5 Gestione dei processi

6 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 6 Definizione di processo Il termine processo fa riferimento allesecuzione di un programma Un processo P è una coppia di elementi (E, S), che comprende il codice eseguibile E del programma e lo stato S del processo Lo stesso programma può essere associato a più processi: –Un programma può essere scomposto in varie parti e ognuna di esse può essere associata ad un diverso processo –Lo stesso programma può essere associato a diversi processi quando diverse copie del medesimo processo sono mandate in esecuzione

7 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 7 Stati di un processo (1) Lunità di elaborazione che esegue i processi prende nome di processore. In generale vi saranno n processori I processi possono essere classificati come: –In esecuzione –Pronti –In attesa Ipotesi semplificative: –Un programma sia associato a un solo processo –Il sistema sia dotato di un unico processore Uno solo dei processi può essere in esecuzione in un certo istante, gli altri processi saranno pronti oppure in attesa

8 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 8 Stati di un processo (2) In esecuzione: assegnato al processore ed eseguito da esso Pronto: può andare in esecuzione, se il gestore dei processi lo decide In attesa: attende il verificarsi di un evento esterno per andare in stato di pronto Processo in esecuzione Processo pronto Processo in attesa Inizio esecuzione Primo processo pronto - Fine quanto di tempo - Interruzione esterna Interruzione interna Evento esterno atteso - Fine esecuzione - Abort per errore

9 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 9 Stati di un processo (3) I processi appena creati sono messi in stato di pronto Processo in esecuzione Processo pronto Processo in attesa Inizio esecuzione Primo processo pronto - Fine quanto di tempo - Interruzione esterna Interruzione interna Evento esterno atteso - Fine esecuzione - Abort per errore Il nucleo decide quale processo pronto mettere in stato di esecuzione P1P2 Il nucleo assegna il processore a un processo per un quanto di tempo –Coda dei processi pronti –Round-robin –Priorità dei processi

10 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 10 Stati di un processo (4) Il processo in esecuzione passa in stato di attesa se richiede operazioni di I/O (interruzione interna) Corrisponde alla esecuzione dellistruzione chiamata a supervisore (SuperVisor Call, SVC) Processo in esecuzione Processo pronto Processo in attesa Inizio esecuzione Primo processo pronto - Fine quanto di tempo - Interruzione esterna Interruzione interna Evento esterno atteso - Fine esecuzione - Abort per errore P1P2

11 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 11 Stati di un processo (5) Processo in esecuzione Processo pronto Processo in attesa Inizio esecuzione Primo processo pronto - Fine quanto di tempo - Interruzione esterna Interruzione interna Evento esterno atteso - Fine esecuzione - Abort per errore P1P2 Il processore è ora libero, un altro processo passerà in esecuzione Cambiamento di contesto: –Salvare il contesto di P1 nel suo descrittore di processo

12 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 12 Stati di un processo (6) Processo in esecuzione Processo pronto Processo in attesa Inizio esecuzione Primo processo pronto - Fine quanto di tempo - Interruzione esterna Interruzione interna Evento esterno atteso - Fine esecuzione - Abort per errore P1P2 Quando loperazione di I/O è finita viene generata uninterruzione esterna Il processo in esecuzione viene interrotto Il nucleo esegue il gestore delle interruzioni che esegue le azioni opportune P1 può tornare pronto Il nucleo sceglie quale processo mandare in esecuzione

13 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 13 Stati di un processo (7) Processo in esecuzione Processo pronto Processo in attesa Inizio esecuzione Primo processo pronto - Fine quanto di tempo - Interruzione esterna Interruzione interna Evento esterno atteso - Fine esecuzione - Abort per errore P1P2 Pre-emption: quando il quanto di tempo è scaduto, il nucleo interrompe il processo in esecuzione Si cerca di garantire un uso equo della CPU a tutti i processi

14 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 14 Sincronizzazione A volte, i processi devono sincronizzarsi, ovvero coordinare le loro attività Il coordinamento sequenziale: un processo termina invocando lattivazione di un altro processo La competizione: due processi vogliono accedere simultaneamente a una medesima risorsa (risorsa critica)

15 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 15 Gestione della memoria centrale

16 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 16 Rilocazione e paginazione La gestione concorrente di molti processi, comporta la presenza di molti programmi in memoria centrale Per allocare i programmi in memoria è necessario rilocarli (trasformare gli indirizzi logici, presenti nei programmi, in indirizzi fisici) Paginazione: –La memoria centrale è considerata dal gestore della memoria come partizionata in pagine –Ciascuna di queste è unarea di memoria contigua, di dimensione fissata –Dati e programmi vengono partizionati in pagine e allocati in un numero intero di pagine, non necessariamente contigue

17 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 17 Segmentazione Segmentazione: –Durante la compilazione, il programma è frazionato in parti che svolgono differenti funzioni Per es. si possono separare i dati dalle istruzioni –E una partizione logica del programma. –Consente al gestore della memoria di caricare i segmenti che compongono il programma stesso in maniera indipendente –Mentre le pagine hanno lunghezza fissa, i segmenti, hanno lunghezza variabile La segmentazione e la paginazione non sono tecniche alternative. Spesso sono applicate contemporaneamente

18 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 18 La memoria virtuale In entrambi i casi, il gestore della memoria offre al programma applicativo la visione di una memoria virtuale La memoria virtuale è maggiore di quella fisica: –E possibile allocare più pagine o segmenti di quelle che possono stare nella memoria fisica allo stesso tempo –Le pagine o i segmenti che non sono al momento caricate nella memoria fisica rimango disponibili nella memoria di massa La gestione della memoria è coordinata con la gestione dei processi: –Quando un processo è eseguito, le pagine o i segmenti che sono al momento in esecuzione o che contengono i dati attualmente indirizzati devono essere caricati in memoria –Se una pagina o un segmento necessario al programma non è presente, il processo deve essere sospeso per consentire il caricamento

19 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 19 La catena di programmazione (1) Il compilatore trasforma un modulo di programma sorgente in un modulo di programma oggetto –Un programma può essere suddiviso in parti (moduli) –I nomi delle variabili locali al modulo di programma vengono tradotti in indirizzi rilocabili (espressi in forma logica) –I riferimenti alle variabili esterne al modulo, restano in formato simbolico Il linker trasforma diversi moduli oggetto in un unico programma eseguibile –Il linker risolve i riferimenti a variabili definite esternamente a ciascun modulo, trasformando i residui indirizzi simbolici in indirizzi rilocabili

20 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 20 La catena di programmazione (2) A volte (raramente) gli indirizzi sono espressi in formato assoluto (calcolati a partire da una specifica cella di memoria) Il loader carica il programma eseguibile in memoria –Indirizzi assoluti: il loader caricare il programma nella specifica zona di memoria –Indirizzi rilocabili: il loader è responsabile della loro rilocazione

21 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 21 La rilocazione Rilocazione statica: –Allatto del caricamento in memoria –Trasforma il codice: indirizzi rilocabili indirizzi assoluti Registro base Indirizzo rilocabile + Indirizzo calcolato Rilocazione dinamica: –Non comporta una conversione del codice –Richiede lutilizzo di due registri speciali: Il registro base contiene il valore dellindirizzo della prima cella di memoria a partire dalla quale il programma è stato caricato Il registro dimensione contenente la dimensione del programma; permette di verificare che lindirizzo generato dal programma rientri nello spazio indirizzabile

22 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 22 Modo S e modo U La memoria è suddivisa in: –Memoria di modo S (supervisore): contiene i programmi di sistema operativo e vengono create le strutture dati da esso utilizzate –Memoria di modo U (utente): contiene i programmi utente Se il processore sta eseguendo un processo utente: –Lo si dice attivo in modo utente (in modo U) –Può accedere soltanto alla memoria di modo U Se il processore sta eseguendo un processo di sistema: –E attivo il nucleo –Si dice attivo in modo supervisore (in modo S) –Può accedere alla memoria di modo S e di modo U –Può eseguire istruzioni privilegiate

23 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 23 Driver

24 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 24 I driver Sono meccanismi software cui è affidato il compito di comunicare dati da e verso le periferiche Garantiscono ai programmi che li usano una visione di alto livello –E possibile leggere o scrivere tramite primitive indipendenti dalla struttura hardware delle periferiche Si distingue fra: –Driver fisici (hardware). Vengono attivati direttamente dal gestore delle interruzioni –Driver logici (software). Fanno parte del sistema operativo e forniscono una gerarchia di operazioni, con unorganizzazione a strati

25 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 25 Gestione dei file

26 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 26 Il file system Consente di gestire i file sulla memoria di massa: –Creare un file –Dargli un nome –Collocarlo in un opportuno spazio nella memoria di massa –Accedervi in lettura e scrittura Gestione dei file indipendente dalle caratteristiche fisiche della memoria di massa I file vengono inclusi allinterno di directory (o cataloghi): –Hanno una tipica organizzazione ad albero –Alcuni sistemi operativi permettono una struttura a grafo

27 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 27 La struttura ad albero

28 Copyright © The McGraw-Hill Companies, srl Il Sistema Operativo Informatica A – V. Perrone 28 Organizzazione dei file A ciascun utente è normalmente associata una directory specifica, detta home directory Il livello di protezione di un file indica quali operazioni possono essere eseguite da ciascun utente Ciascun file ha un pathname (o nome completo) che include lintero cammino dalla radice dellalbero Il contesto di un utente allinterno del file system è la directory in cui correntemente si trova


Scaricare ppt "Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali."

Presentazioni simili


Annunci Google