Concetti Chiave
- La paginazione supera la frammentazione della memoria allocando processi in blocchi non contigui.
- La memoria è divisa in frame di dimensioni uguali, mentre i processi sono divisi in pagine della stessa dimensione.
- La MMU traduce gli indirizzi logici dei processi in indirizzi fisici tramite una tabella delle pagine.
- Il sistema operativo registra i frame di allocazione nella page table quando un processo è caricato.
- La paginazione comporta costi aggiuntivi in termini di spazio e tempo.
La paginazione
Le tecniche di allocazione della memoria sono dette di allocazione contigua, per indicare il fatto che, per assegnare la memoria ad un processo, occorre trovare uno spazio di memoria libero abbastanza grande per contenerlo completamente. Però a causa della frammentazione si formano molti spazi liberi in memoria di piccole dimensioni che non sono in grado di accogliere alcun processo.
Per superare i limiti dell'allocazione contigua si devono utilizzare tecniche di allocazione che permettono di distribuire un processo in zone della memoria anche non contigue.
La paginazione è realizzata nel seguente modo: Lo spazio di memoria è suddiviso in blocchi, aventi tutti la stessa dimensione, detti frame (cornici). Lo spazio di memoria dei processi ( memoria logica ) è suddiviso in blocchi di dimensione uguale a quello dei frame, detti pagine. La dimensione dipende dallo specifico sistema di gestione della memoria; Le operazioni descritte nei precedenti esempi sono attuate dalla MMU che traduce gli indirizzi logici, generati da un processo in esecuzione ,nei corrispondenti indirizzi fisici. Quando un nuovo processo è collocato in memoria, il S.O. registra nella page table(tabella delle pagine del processo) del processo i corrispondenti frame di allocazione, ed esegue il processo scrivendo nel Program Counter l'indirizzo di partenza del processo. Gli svantaggi della paginazione sono dovuti ai costi, in termini di spazio e di tempo.