La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Gestione della Memoria

Presentazioni simili


Presentazione sul tema: "Gestione della Memoria"— Transcript della presentazione:

1 Gestione della Memoria
Capitolo 4 Gestione della Memoria 4.1 Introduzione alla gestione della memoria 4.2 Swapping 4.3 Memoria virtuale 4.4 Implementazione 4.5 Algoritmi di sostituzione 4.6 Criteri di progetto per la paginazione 4.7 Case study: Unix 4.8 Case study: Windows 2000

2 Gestione della Memoria
Idealmente la memoria dovrebbe essere grande veloce non volatile Gerarchia di memorie Disco: capiente, lento, non volatile ed economico Memoria principale: volatile, mediamente grande, veloce e costosa Cache: volatile, veloce, piccola e costosa La gerarchia di memorie e’ gestita dal “memory manager” (gestore della memoria)

3 Tipica Gerarchia di Memoria
Sia il tempo di accesso che la capacità sono approssimazioni abbastanza grossolane

4 Modelli di gestione della memoria
Modelli che non spostano i processi dalla RAM una volta iniziata l’esecuzione monoprogrammazione multiprogrammazione a partizioni fisse Modelli che spostano un processo in esecuzione da RAM a disco swapping paginazione

5 Tre modi semplici di organizzare la memoria
Introduzione alla Gestione della Memoria Ambiente monoprogrammato senza swapping nè paginazione Tre modi semplici di organizzare la memoria un sistema operativo con un solo processo utente

6 Ambiente multiprogrammato con partizioni fisse
Con code dei job distinte per ogni partizione Con unica coda dei job

7 Rilocazione e Protezione
Non si conosce l’istante nel quale il programma verrà caricato in memoria Gli indirizzi dei dati e del codice non possono essere assoluti E’ necessario mantenere separati gli spazi di indirizzamento dei processi Registri Base e Limite Indirizzo fisico = indirizzo logico + registro base Errore se indirizzo logico > registro limite

8 Modelli per la Multiprogrammazione
Degree of multiprogramming Utilizzazione della CPU in funzione del numero di processi in memoria

9 Swapping (1) Caricamento in partizioni variabili
L’allocazione della memoria cambia quando: I processi vengono caricati in memoria I processi rilasciano la memoria

10 Swapping (2) Rilocazione e protezione possono usare ancora i registri base e limite Problema: la frammentazione della memoria molte aree piccole compattazione Problema: stabilire quanto spazio allocare per ogni processo area dati, stack Problema: come tenere traccia della memoria libera

11 Swapping (3) Allocare dinamicamente memoria nel segmento dati
Allocare dinamicamente memoria nello stack e nel segmento dati

12 Gestione della Memoria con Bit Map
Porzione di memoria con 5 processi e 3 aree libere Le suddivisioni indicano l’unità di allocazione Bit Map corrispondente Lista di Allocazione corrispondente

13 Gestione della Memoria con Liste
Quattro possibili combinazioni di allocazione in seguito alla terminazione del processo X

14 Allocazione della Memoria
Allocazione di un blocco di memoria di dimensione x: First Fit Individua la prima porzione di memoria libera di dimensione  x Best Fit Individua la più piccola porzione di memoria libera di dimensione  x 3


Scaricare ppt "Gestione della Memoria"

Presentazioni simili


Annunci Google