Page 216 - Informatica dalla A a Z
P. 216
Se la pagina non è presente in RAM o non si hanno i diritti di accesso, si verifica una page
fault (tipo di eccezione).
Il circuito di paginazione, prima di generare una page fault, salva in un apposito registro
l’indirizzo logico che che la ha causata.
La Segmentazione
Questa tecnica suddivide la memoria associata ai programmi in 3 aree differenti:
- aree text: zone a sola lettura, condivise tra più processi, che contengono il codice
eseguibile;
- aree dati: potrebbero anche essere condivise;
- aree stack: sono read/write, ma non possono assolutamente essere condivise.
Nella segmentazione, lo spazio di indirizzamento logico è costituito da un insieme di seg-
menti, ovvero un’area di memoria contenente elementi contigui. Ogni segmento è carat-
terizzato da un nome (indice) e una lunghezza.
Per questo ogni riferimento alla memoria è dato da una coppia <nome segmento, off-
set>, dove l’offset determina la posizione della memoria all’interno del segmento.
Nota: è possibile anche combinare i due metodi. In questo caso, ogni segmento viene di-
viso in pagine. In questo modo si risolve completamente il problema della frammenta-
zione. Naturalmente l’utilizzo di questa doppia tecnica prevede che l’MMU debba avere il
supporto ad entrambe le strategie.
Ricapitolando, ogni processo ha una propria page directory, mentre può avere più page
table.
Il kernel del S.O. è un componente privilegiato in grado di disporre di tutta la memoria
dinamica richiesta, mentre ai processi, l’assegnazione della RAM si ha solo quando questi
ne fanno esplicita richiesta (demand paging).
Quando un processo ha bisogno di una memoria di tipo stack, gli viene associato un “page
frame” di RAM.
Lo Swapping
I Sistemi Operativi a 32 bit possono indirizzare una quantità di memoria di 4 Gb, mentre
64
quelli a 64 bit possono arrivare addirittura a gestirne 2 , ovvero 16 miliardi di miliardi.
212