Professional Documents
Culture Documents
Introduzione
Gestione dei processi
Gestione della memoria (cenni)
Il sistema Operativo
2
Tipi di Sistema Operativo
3
Architettura del sistema operativo
q Il SO è tipicamente organizzato a
strati
Programmi utente
q Ciascun strato costituisce
una macchina virtuale che gestisce Interprete comandi
una risorsa del calcolatore
q Le principali funzionalità offerte File system
sono elencate a destra
q Le prime tre funzionalità sono
Gestione delle periferiche
indispensabili per il funzionamento
del sistema e pertanto
costituiscono il nucleo del SO Gestione della memoria
(Kernel)
Gestione dei processi
Macchina fisica
Kernel
4
Gestione dei processi
Macchina fisica
5
Gestione della memoria
Segmentazione
Gestione dei processi
Macchina fisica
6
Gestione delle periferiche
Macchina fisica
7
Gestione del file system
Macchina fisica
8
La struttura ad albero
9
Organizzazione dei file
10
Gestione dell’interfaccia utente
del SO
Operazioni sul file system Gestione della memoria
Macchina fisica
11
PROCESSI E MACCHINE
VIRTUALI
12
Che cosa è un processo per il SO?
q Processo ≠ programma !
q Processo = esecuzione di un programma. Composto
da:
codice eseguibile (il programma stesso)
dati
q Lo stesso programma può essere associato a più
processi:
Un programma può essere scomposto in varie parti
e ognuna di esse può essere associata a un diverso
processo
Lo stesso programma può essere associato a
diversi processi quando esso viene eseguito più
volte, anche simultaneamente
13
Il sistema operativo e le macchine virtuali
proc. C
bus
proc. D
proc. A
14
Il sistema operativo e la macchina reale
bus
15
Il sistema operativo e la macchina reale
bus
16
Lo stato di un processo
17
Stato di un processo (1)
Inizio esecuzione
q Pronto: può andare in
- Fine quanto di tempo Processo
esecuzione, se il
- Interruzione esterna pronto
gestore dei processi lo
decide
q In esecuzione: Primo processo
assegnato al processore pronto
ed eseguito da esso Processo in Evento esterno
q In attesa: attende il esecuzione atteso
verificarsi di un evento
esterno per andare in
Interruzione interna
stato di pronto
Processo in
- Fine esecuzione attesa
- Abort per errore
18
Stato di un processo (2)
Inizio esecuzione
q I processi appena creati P2
sono messi in stato di P1
- Fine quanto di tempo Processo
pronto - Interruzione esterna pronto
q Il gestore dei processi
decide quale processo
pronto mettere in stato di Primo processo
esecuzione pronto
q Il gestore assegna il Processo in
processore a un processo Evento esterno
per un quanto di tempo esecuzione atteso
Coda dei processi
pronti Interruzione interna
Round-robin
Processo in
Priorità dei processi
- Fine esecuzione attesa
- Abort per errore
19
Stato di un processo (3)
Inizio esecuzione
q Il processo in esecuzione P2
passa in stato di attesa se - Fine quanto di tempo Processo
richiede operazioni di I/O - Interruzione esterna pronto
(interruzione interna)
q Corrisponde alla Primo processo
esecuzione dell’istruzione pronto
“chiamata a supervisore” P1
(SuperVisor Call, SVC) Processo in Evento esterno
esecuzione atteso
Interruzione interna
Processo in
- Fine esecuzione attesa
- Abort per errore
20
Stato di un processo (4)
Inizio esecuzione
q Cambiamento di P2
contesto: - Fine quanto di tempo Processo
Salvare il contesto di - Interruzione esterna pronto
P1
nel suo descrittore di Primo processo
processo pronto
q Il processore è ora
libero, un altro processo Processo in Evento esterno
passerà in esecuzione esecuzione atteso
Interruzione interna
P1
Processo in
- Fine esecuzione attesa
- Abort per errore
21
Stati di un processo (5)
Inizio esecuzione
q Quando l’operazione di I/O
è finita viene generata - Fine quanto di tempo
un’interruzione esterna Processo
- Interruzione esterna pronto
q Il processo in esecuzione
viene interrotto
q Il gestore dei processi Primo processo
esegue il gestore delle pronto
P2
interruzioni che esegue le
azioni opportune
Processo in Evento esterno
esecuzione atteso
q P1 può tornare pronto
q Il gestore dei processi
sceglie quale Interruzione interna
processo mandare in P1
esecuzione Processo in
- Fine esecuzione attesa
- Abort per errore
22
Stato di un processo (6)
Inizio esecuzione
q Pre-emption: quando il P2
quanto di tempo è - Fine quanto di tempo Processo
scaduto, il gestore dei - Interruzione esterna pronto
processi interrompe il
processo in esecuzione
Primo processo
q Si cerca di garantire un pronto
uso equo della CPU a P1
tutti i processi Processo in Evento esterno
esecuzione atteso
Interruzione interna
Processo in
- Fine esecuzione attesa
- Abort per errore
23
La gestione del quanto di tempo
24
I processi e il sistema operativo
25
Chiamate al supervisor
26
Il sistema operativo e la macchina reale
bus
27
Il S.O. e la gestione della memoria
M
28
Spazio di indirizzamento
29
Memoria virtuale vs. fisica
30
Rilocazione
Registro base
Indirizzo
+ calcolato
(fisico)
Indirizzo
virtuale
(rilocabile)
31
Esempio di rilocazione dinamica per l’accesso alle
istruzioni di un programma
MEMORIA
PROCESSORE
Registro base
999
1000 0
RB 1001 1
1000 processo in
1002 2 esecuzione
+ 1003 3
1004
PC
3
32
Problema della frammentazione
MEMORIA MEMORIA
Processo P Processo P
Processo S (1)
Processo Q Processo Q
Processo S (2)
Processo R Processo R
34
MEMORIA MEMORIA
VIRTUALE P FISICA
MEMORIA
VIRTUALE Q
dimensione
pagina
35
Struttura degli indirizzi virtuali
indirizzo virtuale
NPV offset
36
Struttura degli indirizzi fisici
indirizzo fisico
NPF offset
37
Traduzione dal virtuale al fisico
indirizzo virtuale
NPV offset
traduzione
NPF offset
indirizzo fisico
38
Esempio
39
Esempio (segue)
indirizzo virtuale
NPV offset
20bit 12bit
10bit 12bit
NPF offset
indirizzo fisico
40
La tabella delle pagine
indirizzo virtuale
NPV = 0 offset
NPV NPF
2 NPF offset
3 indirizzo fisico
41
Memory Management Unit
42
Pagine residenti in memoria e non
43