La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Memoria La memoria è un vettore di stringhe di bit (word/parole) In memoria è allocato il Sistema Operativo. In memoria sono allocati i programmi per poter.

Presentazioni simili


Presentazione sul tema: "Memoria La memoria è un vettore di stringhe di bit (word/parole) In memoria è allocato il Sistema Operativo. In memoria sono allocati i programmi per poter."— Transcript della presentazione:

1 Memoria La memoria è un vettore di stringhe di bit (word/parole) In memoria è allocato il Sistema Operativo. In memoria sono allocati i programmi per poter essere processati. I programmi possono essere ripetutamente spostati in memoria e dalla memoria al disco rigido in modo da poter tenere in memoria quello che serve. Ogni volta la posizione “fisica” in memoria cambia.

2 Rilocazione della memoria Tecnica con cui si traducono gli indirizzi virtuali in quelli fisici. Rilocazione statica: il programma va tutto in memoria prima della sua esecuzione Rilocazione dinamica: in memoria fisica viene allocato run- time solo la porzione di codice che serve.

3 Allocazione A singola partizione: oltre alla fetta per il S.O., quella residua è occupata da un unico programma (sistemi monoprogrammati). A partizioni multiple: oltre alla fetta occupata dal S.O. La parte residua è divisa in più parti di dimenzioni prestabilite. S.O. Programma S.O. Part 1 Part 2 Part 3

4 Partizioni statiche La dimensione delle partizioni è stabilita dal sistemista. Il numero è stabilito dal sistemista. Non si può più variarle o solo se si riconfigura tutto. Vantaggio: gestione semplice della memoria Svantaggio: spreco di spazio inutilizzato o Svantaggio: impossibilità a caricare programmi troppo grandi.

5 Partizioni dinamiche Le partizioni non sono fissate a priori. Ogni volta che il MMU deve allocare un programma in RAM ne viene creata una La loro dimensione è variabile Il loro numero è variabile

6 Partizioni dinamiche Tabella delle partizioni: il MMU dispone di una tabella dove sono annotati indirizzi e dimensioni delle partizioni. Tabella delle aree libere: il MMU dispone di una tabella dove sono annotati indirizzi e dimensioni delle aree libere. SO PG1 PG2 PG3 IDDIMIND K 150K 180K 210K 250K 300K IDDIMIND

7 Frammentazione Gli spazi residui in memoria possono essere: Troppo piccoli per contenere un programma La loro dimensione totale contiene invece un programma. Questa condizione è detta di frammentazione dello spazio residuo. SO PG1 PG2 PG3 100K 150K 180K 210K 250K 300K

8 Paginazione La memoria centrale è suddivisa in blocchi di eguale dimensione. I programmi sono divisi in parti chiamate pagine. Pagine e blocchi hanno eguali dimensioni. Un programma può essere allocato in memoria se ci sono un numero di blocchi liberi superiore a quello delle pagine in cui il programma è diviso. Con la paginazione, infatti, le pagine di uno stesso programma che sono contigue vengono allocate in memoria anche se i blocchi non sono contigui. In questo modo si evita la frammentazione.

9 Paginazione È necessario avere due Tabelle: Tabella dei blocchi di memoria. Tabella delle pagine in memoria.

10 La memoria virtuale I programmi non sono realmente caricati in memoria per intero, ma solo parzialmente, per quella parte che è in esecuzione in un certo istante. Ogni programma è suddiviso in fette (pagine o segmenti) La memoria è suddivisa in blocchi Anche programmi ampi possono essere elaborati, basta portare in memoria la “fetta” che interessa e rimetterla nel disco dopo che è stata processata.

11 La memoria virtuale Virtualmente possiamo avere una memoria virtuale grande quando vogliamo gestendo ogni volta swap-in e swap-out Realisticamente, lo swapping è una operazione lenta perchè coinvolge il disco rigido che è lento rispetto alla ram. Una memoria virtuale eccessiva rallenta il sistema. Si deve spezzettare il programma Si deve caricare in memoria solo alcuni pezzetti lasciando il resto su memoria di massa Se serve una pagina non presente in rama si carica da disco (interrupt di page fault).

12 La segmentazione È alternativa alla paginazione I programmi non sono divisi in fette di dimensione fissa ma in fette di dimensione variabile La divisione in fette non è basata su un criterio di spazio fisico disponibile ma è fatta dal programmatore sulla base del contenuto del programma usando un criterio logico Il programmatore può decidere di usare segmenti più piccoli per certe parti del programma che usano molti dati da memorizzare. La divisione è più efficiente.


Scaricare ppt "Memoria La memoria è un vettore di stringhe di bit (word/parole) In memoria è allocato il Sistema Operativo. In memoria sono allocati i programmi per poter."

Presentazioni simili


Annunci Google