190 likes | 359 Views
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.
E N D
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
Frame Pagine Tabella pagine Tabella Frame 0 0 0 1 0 1 0 0 1 1 8 2 1 1 2 2 6 2 4 3 0 3 3 4 3 4 3 1 4 4 3 5 4 1 2 6 5 0 Memoria Logica 7 6 1 7 1 8 0 9 8 1 Offset Pagina 9 0 Memoria Fisica Indirizzo Logico Paginazione Spazio indirizzi non contiguo
Dimensione Pagina Piccola Grande Poca framm. Interna Tabella pagine grande I/O ineff. Più framm. Interna Tabella pagine piccola I/O effic. Paginazione Nessuna Frammentazione esterna Frammentazione interna (media ½ pagina)
Paginazione Problema della Tabella Pagine: Supporto Hardware Registri (Tabelle piccole) Memoria Associativa TLB (Translate Look-Aside Buffer) Registro Base (Tabelle in memoria) Protezione
Paginazione Organizzazione della tabella delle pagine Organizzazione Gerarchica Hashing
Segmento Offset Indirizzo logico Segmentazione Allocazione non contigua della memoria Paginazione con pagine di dimensione variabile
Segmento Offset Indirizzo logico Segmentazione Tabella Segmenti L i m B a s e Memoria Fisica Si + < No Errore Indirizz.
Segmentazione Protezione Frammentazione Esterna Segmentazione con paginazione
Memoria Virtuale Spazio indirizzamento Virtuale e Spazio Fisico Allocazione non contigua Richiesta di Paginazione (o Segmentazione)
Pagine Tabella pagine 0 0 1 Tabella Frame Frame 1 1 8 2 2 0 0 0 6 3 0 1 1 1 3 4 2 4 2 0 4 3 4 3 3 1 Memoria Logica 3 4 4 1 0 3 5 5 0 2 2 6 6 1 7 7 0 1 8 8 1 9 9 0 Memoria Fisica Memoria Virtuale Richiesta Pura di Paginazione (Località dei Riferimenti
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 Variaz. Dinam. Frame (WS) Thrashing