Skip to main content

Cos'è un'unità di gestione della memoria?

L'hardware del computer responsabile della gestione del sistema di memoria del computer è chiamato unità di gestione della memoria (MMU).Questo componente funge da buffer tra la CPU e la memoria di sistema.Le funzioni eseguite dall'unità di gestione della memoria possono in genere essere divise in tre aree: gestione della memoria hardware, gestione della memoria del sistema operativo e gestione della memoria dell'applicazione.Sebbene l'unità di gestione della memoria possa essere un componente CHIP separato, di solito è integrato nell'unità di elaborazione centrale (CPU).

In generale, l'hardware associato alla gestione della memoria include memoria di accesso casuale (RAM) e cache di memoria.RAM è il compartimento di archiviazione fisica che si trova sul disco rigido.È l'area di archiviazione principale del computer in cui i dati vengono letti e scritti.Le cache della memoria vengono utilizzate per contenere copie di alcuni dati dalla memoria principale.La CPU accede a queste informazioni contenute nella cache della memoria, che aiuta a accelerare i tempi di elaborazione.

Quando la memoria fisica o la RAM, esegue lo spazio di memoria, il computer utilizza automaticamente la memoria virtuale dal disco rigido per eseguire il programma richiesto.L'unità di gestione della memoria assegna la memoria dal sistema operativo a varie applicazioni.L'area degli indirizzi virtuali, che si trova all'interno dell'unità di elaborazione centrale, è composta da una serie di indirizzi che sono divisi in pagine.Le pagine sono blocchi di archiviazione secondari di dimensioni uguali.Il processo di paging automatizzato consente al sistema operativo di utilizzare lo spazio di archiviazione sparso sul disco rigido.

Invece dell'utente che riceve un messaggio di errore secondo cui non esiste una memoria sufficiente, la MMU indica automaticamente il sistema a creare una memoria virtuale sufficiente per eseguire l'applicazione.Lo spazio contiguo della memoria virtuale viene creato da un pool di blocchi di dimensioni uguali di memoria virtuale per l'esecuzione dell'applicazione.Questa funzione è una chiave importante per far funzionare questo processo in modo efficace ed efficiente perché il sistema non è tenuto a creare un pezzo di memoria virtuale per gestire i requisiti del programma.La creazione di varie dimensioni di spazio di memoria per ospitare programmi di dimensioni diverse causa un problema noto come frammentazione.Ciò potrebbe portare alla possibilità di non avere abbastanza spazio libero per programmi più grandi quando lo spazio totale disponibile è effettivamente sufficiente.

La gestione della memoria dell'applicazione comporta il processo di allocazione della memoria richiesta per eseguire un programma dalle risorse di memoria disponibili.Nei sistemi operativi più grandi, possono essere eseguite molte copie della stessa applicazione.L'unità di gestione della memoria spesso assegna a un'applicazione l'indirizzo di memoria che si adatta meglio alle necessità.È più semplice assegnare a questi programmi gli stessi indirizzi.Inoltre, l'unità di gestione della memoria può distribuire risorse di memoria ai programmi su base necessaria.Quando l'operazione è completata, la memoria viene riciclata per l'uso altrove.

Una delle principali sfide per l'unità di gestione della memoria è quella di rilevare quando i dati non sono più necessari e possono essere scartati.Questo libera la memoria per l'uso su altri processi.La gestione automatica e manuale della memoria è diventata un campo di studio separato a causa di questo problema.La gestione inefficiente della memoria presenta un grosso problema quando si tratta di prestazioni ottimali dei sistemi informatici.