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
   211   212   213   214   215   216   217   218   219   220   221