Gestione della Memoria
Centrale
Collegamento Indirizzi
Loader : Carica il programma in memoria
Compilation Time --- codice assoluto
Load time --- codice rilocabile
Execution time --- codice movibile
Indirizzamento
Indirizzamento Logico ed Indirizzamento Fisico
Compilation Time --- Logico=Fisico
Load time --- Logico=Fisico
Execution time --- Logico≠Fisico
MMU (Registro di Rilocazione)
Modalità di esecuzione dei programmi
Caricamento Dinamico
Librerie statiche e dinamiche
Overlay
Transfer rate
Swapping
I/O
Allocazione della memoria
Partizioni (Allocazione contigua)
Problema dell’allocazione dinamica della MC
First-fit
Best-fit
Worst-fit
Frammentazione (esterna ed interna)
Allocazione della memoria
Spazio indirizzi non contiguo
Paginazione
Segmentazione
Paginazione
Spazio indirizzi non contiguo
Frame
Pagine
Tabella pagine
0
1
2
3
4
0
1
1
2
8
3
4
4
3
Memoria
Logica
Pagina
Offset
Indirizzo Logico
6
Tabella Frame
0
0
1
0
0
1
2
1
0
4
3
3
1
3
4
4
1
5
0
6
7
1
8
1
9
0
0
2
5
2
6
7
1
8
9
Memoria Fisica
Paginazione
Nessuna Frammentazione esterna
Frammentazione interna (media ½ pagina)
Dimensione Pagina
Piccola
Poca framm. Interna
Tabella pagine grande
I/O ineff.
Grande
Più framm. Interna
Tabella pagine piccola
I/O effic.
Paginazione
Problema della Tabella Pagine: Supporto Hardware
Registri
(Tabelle piccole)
Registro Base
(Tabelle in memoria)
Memoria Associativa
TLB
(Translate Look-Aside
Buffer)
Protezione
Paginazione
Organizzazione della tabella delle pagine
Organizzazione Gerarchica
Hashing
Segmentazione
Allocazione non contigua della memoria
Paginazione con pagine di dimensione variabile
Segmento
Offset
Indirizzo logico
Segmentazione
Tabella Segmenti
Segmento
L B
i a
m s
e
Offset
Indirizzo logico
Si
<
No
Errore Indirizz.
Memoria
Fisica
+
Segmentazione
Protezione
Frammentazione Esterna
Segmentazione con paginazione
Memoria Virtuale
Spazio indirizzamento Virtuale e Spazio Fisico
Allocazione non contigua
Richiesta di Paginazione (o Segmentazione)
Memoria Virtuale
Pagine
0
1
Tabella pagine
0
1
8
2
1
2
6
0
0
3
3
4
1
4
4
3
1
2
3
1
4
3
4
1
3
4
5
0
6
7
1
8
1
9
0
Memoria
Logica
Richiesta Pura di
Paginazione (Località
dei Riferimenti
Tabella Frame
Frame
0
0
1
2
0
5
2
6
7
0
1
8
9
Memoria Fisica
0
2
3
Memoria Virtuale (Valutazione)
Istruzioni, Dati e Page fault
Copy on Write (pool di pagine)
Sostituzione ed Allocazione Pagine
Sostituzione della Pagina
Dirty Bit
Sostituzione FIFO (anomalia Belady)
Sostituzione Ottimale (OPT)
Approssimaz. OPT
LRU (contatori o stack)
Approssimaz. LRU
(bit addiz., seconda poss.,
Seconda poss. Miglior.
Sostituzione della Pagina
LFU (contatori )
MFU (contatori )
Allocazione delle Pagine
Quante Pagine Allocare al processo allo start?
Allocazione Omogenea o Proporzionale
Sostituzione Globale o Locale
Thrashing
Variaz. Dinam. Frame (WS)
Scarica

Lezione s.o. 5