La gestione della memoria è un aspetto fondamentale della progettazione del sistema operativo, che consiste nell'allenare, gestire e liberare le risorse della memoria per garantire prestazioni ottimali del sistema.

Tipi di strategie di gestione della memoria

Ci sono diverse strategie di gestione della memoria comuni, ognuna con i suoi vantaggi e limitazioni, tra cui l'allocazione della memoria contigua, la paging, la segmentazione e la memoria virtuale.

Allocazione della memoria contigua

Questo metodo assegna un singolo blocco continuo di memoria a un processo. È semplice da implementare ma può portare alla frammentazione, rendendo difficile trovare blocchi abbastanza grandi di memoria libera nel tempo.

Pagamenti e Segmentazione

La lettura divide la memoria in pagine a dimensione fissa, consentendo l'allocazione non continua e riducendo la frammentazione. La segmentazione, invece, divide la memoria in segmenti di dimensioni variabili basati su divisioni logiche come funzioni o tipi di dati. Entrambe le tecniche migliorano la flessibilità ma aggiungono la complessità alla gestione della memoria.

Memoria virtuale

La memoria virtuale estende la memoria fisica utilizzando lo spazio su disco per simulare RAM aggiuntiva, permettendo ai processi di utilizzare più memoria che fisicamente disponibile, migliorando il multitasking.

  • Efficienza nell'utilizzo delle risorse
  • Minimizzazione della frammentazione
  • Supporto per multitasking
  • Complessità nell'attuazione