il sistema operativo vito perrone corso di informatica a per gestionali
TRANSCRIPT
![Page 1: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/1.jpg)
Il sistema operativo
Vito Perrone
Corso di Informatica A per Gestionali
![Page 2: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/2.jpg)
2Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
Indice
• Architettura• Gestione dei processi• Gestione della memoria centrale• Driver• Gestione dei file
![Page 3: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/3.jpg)
3Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
Il sistema operativo
• E’ uno strato software cheopera direttamentesull’hardware
• Isola gli utenti dai dettaglidell’hardware
• Mono-utente o multi-utente• E’ organizzato a strati:
– Architettura a buccia di cipolla– Ogni strato costituisce
una macchina virtuale
Programmi utente
Interprete comandiattivazione programmi d’utente o di sistema
File systemcontrollo e gestione degli accessi a file
Gestione delle periferichegestione di ingresso/uscita da periferica
Gestione della memoriaallocazione e gestione della memoria
Gestione dei processi (nucleo)gestione dei processi e delle interruzioni
Macchina fisicaKernel
![Page 4: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/4.jpg)
4Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
Funzioni del sistema operativo
• Il gestore dei processi (o nucleo) è responsabile dell’esecuzione dei programmi da parte dell’unità 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
• L’interprete comandi consente all’utente di attivare i programmi
![Page 5: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/5.jpg)
5Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
Gestione dei processi
![Page 6: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/6.jpg)
6Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
Definizione di processo
• Il termine processo fa riferimento all’esecuzione 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
![Page 7: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/7.jpg)
7Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
Stati di un processo (1)
• L’unità 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
![Page 8: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/8.jpg)
8Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
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
Processopronto
Processo in attesa
Inizio esecuzione
Primo processopronto
- Fine quanto di tempo- Interruzione esterna
Interruzione interna
Evento esterno atteso
- Fine esecuzione- Abort per errore
![Page 9: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/9.jpg)
9Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
Stati di un processo (3)• I processi appena
creati sono messi in stato di pronto
Processo in esecuzione
Processopronto
Processo in attesa
Inizio esecuzione
Primo processopronto
- 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
P1 P2
• Il nucleo assegna il processore a un processo per un quanto di tempo– Coda dei processi pronti
– Round-robin
– Priorità dei processi
![Page 10: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/10.jpg)
10Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
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 dell’istruzione “chiamata a supervisore”(SuperVisor Call, SVC)
Processo in esecuzione
Processopronto
Processo in attesa
Inizio esecuzione
Primo processopronto
- Fine quanto di tempo- Interruzione esterna
Interruzione interna
Evento esterno atteso
- Fine esecuzione- Abort per errore
P1
P2
![Page 11: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/11.jpg)
11Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
Stati di un processo (5)
Processo in esecuzione
Processopronto
Processo in attesa
Inizio esecuzione
Primo processopronto
- Fine quanto di tempo- Interruzione esterna
Interruzione interna
Evento esterno atteso
- Fine esecuzione- Abort per errore
P1
P2
• Il processore è ora libero, un altro processo passerà in esecuzione
• Cambiamento di contesto:– Salvare il contesto di P1
nel suo descrittore di processo
![Page 12: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/12.jpg)
12Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
Stati di un processo (6)
Processo in esecuzione
Processopronto
Processo in attesa
Inizio esecuzione
Primo processopronto
- Fine quanto di tempo- Interruzione esterna
Interruzione interna
Evento esterno atteso
- Fine esecuzione- Abort per errore
P1
P2
• Quando l’operazione di I/O è finita viene generata un’interruzione 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 qualeprocesso mandare inesecuzione
![Page 13: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/13.jpg)
13Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
Stati di un processo (7)
Processo in esecuzione
Processopronto
Processo in attesa
Inizio esecuzione
Primo processopronto
- Fine quanto di tempo- Interruzione esterna
Interruzione interna
Evento esterno atteso
- Fine esecuzione- Abort per errore
P1
P2• 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
![Page 14: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/14.jpg)
14Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
Sincronizzazione
• A volte, i processi devono sincronizzarsi, ovvero coordinare le loro attività
• Il coordinamento sequenziale: un processo termina invocando l’attivazione di un altro processo
• La competizione: due processi vogliono accedere simultaneamente a una medesima risorsa (risorsa critica)
![Page 15: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/15.jpg)
15Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
Gestione della memoria centrale
![Page 16: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/16.jpg)
16Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
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 è un’area di memoria contigua, di
dimensione fissata
– Dati e programmi vengono partizionati in pagine e allocati in un numero intero di pagine, non necessariamente contigue
![Page 17: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/17.jpg)
17Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
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
![Page 18: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/18.jpg)
18Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
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
![Page 19: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/19.jpg)
19Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
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
![Page 20: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/20.jpg)
20Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
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
![Page 21: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/21.jpg)
21Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
La rilocazione• Rilocazione statica:
– All’atto 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 l’utilizzo di due registri
speciali:• Il registro base contiene il valore
dell’indirizzo 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 l’indirizzo generato dal programma rientri nello spazio indirizzabile
![Page 22: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/22.jpg)
22Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
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”
![Page 23: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/23.jpg)
23Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
Driver
![Page 24: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/24.jpg)
24Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
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 un’organizzazione a strati
![Page 25: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/25.jpg)
25Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
Gestione dei file
![Page 26: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/26.jpg)
26Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
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 all’interno di directory (o cataloghi):– Hanno una tipica organizzazione ad albero– Alcuni sistemi operativi permettono una struttura a grafo
![Page 27: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/27.jpg)
27Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
La struttura ad albero
![Page 28: Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali](https://reader033.vdocuments.net/reader033/viewer/2022052504/5542eb59497959361e8c4b04/html5/thumbnails/28.jpg)
28Copyright © 2004 - The McGraw-Hill Companies, srl
Il Sistema OperativoInformatica A – V. Perrone
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 l’intero cammino dalla radice dell’albero
• Il contesto di un utente all’interno del file system è la directory in cui correntemente si trova