Please enable JavaScript.
Coggle requires JavaScript to display documents.
gestione della memoria di un sistema operativo - Coggle Diagram
gestione della memoria di un sistema operativo
La gestione della memoria è una funzionalità fondamentale del sistema operativo che gestisce la memoria primaria (RAM). Controlla e tiene traccia di ogni singola posizione di memoria, sia che sia assegnata a un processo, sia che sia libera.
spazio degli indirizzi del processo
indirizzi relativi
Generati dal compilatore durante la compilazione, convertendo gli indirizzi simbolici.
indirizzi fisici
Generati dal caricatore quando il programma viene caricato in memoria principale.
indirizzi simbolici
Usati nel codice sorgente, come nomi di variabili, costanti e etichette.
caricamento statico vs dinamico
statico
Tutti i moduli necessari vengono combinati in un unico programma eseguibile prima dell'esecuzione.
dinamico
I moduli o le librerie vengono collegati al programma in fase di esecuzione, non prima.
scambio (swapping)
Tecnica che permette di spostare temporaneamente i processi dalla memoria principale a una memoria secondaria (disco) per liberare spazio, e viceversa.
allocazione della memoria
allocazione a partizione singola
Un unico blocco di memoria è riservato per l'esecuzione del programma.
allocazione a partizione multipla
La memoria è divisa in partizioni fisse o variabili, ciascuna delle quali può contenere un processo.
frammentazione
esterna
Spazio libero sufficiente in totale ma non contiguo, impedendo l'allocazione di nuovi processi.
interna
Lo spazio allocato a un processo è maggiore di quello effettivamente necessario, lasciando spazio inutilizzato all'interno della partizione.
paging
Tecnica di gestione della memoria che divide lo spazio degli indirizzi di un processo in blocchi di dimensione fissa (pagine) e la memoria fisica in frame di dimensione corrispondente, riducendo la frammentazione esterna.
segmentazione
Simile al paging, ma i segmenti sono di lunghezza variabile. Ogni segmento contiene parti del programma che svolgono funzioni correlate.
MMU (Unità di Gestione della Memoria)
Hardware che supporta la mappatura in tempo reale degli indirizzi virtuali in indirizzi fisici, facilitando concetti come il paging e la segmentazione.