Examen Febrero 2017, Problema 2, parte 4a

Examen Febrero 2017, Problema 2, parte 4a

de Juan Andres Nin Maccio -
Número de respuestas: 2

Buenas, no me queda claro porqué se necesitan 2 páginas de segundo nivel.

El proceso necesita 11 páginas de tercel nivel. 

Por qué estás 11 páginas no pueden ser direccionadas por solo 1 página de segundo nivel? Cada una de estás 11 páginas no se correspondería con una entrada en la tabla de segundo nivel (la cual tiene 2^11 entradas)?


Gracias

En respuesta a Juan Andres Nin Maccio

Re: Examen Febrero 2017, Problema 2, parte 4a

de Guillermo Angel Kuster Techera -

Buenas, retomo esta misma duda del compañero, porque mi razonamiento fue exactamente el mismo, y me generó la misma duda.


Gracias.

En respuesta a Guillermo Angel Kuster Techera

Re: Examen Febrero 2017, Problema 2, parte 4a

de Santiago Iturriaga -

Hola:

El problema es que la memoria de un proceso usualmente está organizada en segmentos. Si recuerdan del teórico: está el segmento de código, datos y heap que crecen desde la dirección el comienzo de la memoria (000...000) hacia el final de la memoria (111...111), y el segmento de pila que crece desde el final de la memoria hacia el comienzo (en sentido contrario al anterior).

Eso quiere decir que si vemos una dirección virtual de un datos de memoria de código, datos o heap seguramente comiencen 0s (000..(algo)) y las direcciones virtuales de datos en la pila seguramente comiencen con 1's (111...(algo)). Ahora, los primeros bits de la dirección virtual determinan en que entrada de la tabla de página termina mapeada esa memoria. Eso quiere decir que el código, datos y heap no van a poder compartir tablas de página con la pila porque los primeros van a estar mapeados en las primeras entradas de la tabla de página y el segundo en las últimas. Por eso se precisan entradas diferentes, aunque con una sola entrada nos alcanza para direccionar la memoria el sistema termina utilizando dos entradas, una al pricipio de la tabla y otra al final.

Saludos,

Santiago.