Página 1 de 1

Memoria virtual - Tamaño de tabla de marcos de página

Publicado: 21 Nov 2013, 08:44
por ermanzanita
Sea un sistema de memoria virtual paginada con direcciones lógicas de 32 bits que proporcionan un espacio virtual d
2^20 (2 elevado a 20) páginas y con una memoria física de 32 MB. ¿Cuánto ocupará la tabla de marcos de página qu
emplea el sistema operativo si cada entrada de la misma ocupa 32 bits?
32 kB
4 MB
1 MB
8 kB

La solución es la A (32 KB), ¿alguien puede explicar cómo llegar a ella?
Gracias!

Re: Memoria virtual - Tamaño de tabla de marcos de página

Publicado: 21 Nov 2013, 09:10
por ermanzanita
se me olvidaba...del grupo A1 de 2006.

Re: Memoria virtual - Tamaño de tabla de marcos de página

Publicado: 21 Nov 2013, 10:31
por epastorc
Creo que esta puede ser la explicación (a ver si algún compañero lo puede confirmar):

Una dirección virtual de memoria tiene dos partes, la correspondiente al número de página (virtual) y la correspondiente al desplazamiento. El número de página lo que hace es decirnos dónde encontrar el marco (o página física), mientras que el desplazamiento lo que nos dice es cúantas posiciones de memoria movernos desde la posición base que da el marco.

Teniendo en cuenta que hay 2^20 páginas, eso quiere decir que de los 32 bits de la dirección virtual 20 son del número de página (virtual) y 12 del desplazamiento.

Si tenemos 32MB de memoria, hay que direccionar 2^25 posiciones; es decir, necesitaríamos 25 bits. De ellos 12 son para el desplazamiento y nos quedan 13 para el número de página (física) o marco. Esto nos dice que la tabla de marcos tiene 2^13 posiciones, cada una de ellas de 32 bits según el enunciado. Multiplicando todo tenemos 2^13 b * 2^5 b = 32 KB.

Re: Memoria virtual - Tamaño de tabla de marcos de página

Publicado: 21 Nov 2013, 12:26
por alvarogb
Apoyo el razonamiento de epastorc. Genial explicación

Re: Memoria virtual - Tamaño de tabla de marcos de página

Publicado: 21 Nov 2013, 12:41
por ermanzanita
no me sale la multiplicación 2^13 * 2^5 = 2^18 = 256KB, ¿no?

Re: Memoria virtual - Tamaño de tabla de marcos de página

Publicado: 21 Nov 2013, 13:35
por Maya
Quizás así quede más claro:
2^13 entradas*32 bits/entrada = 2^13 entradas*4Bytes/entrada = 32 KB

Re: Memoria virtual - Tamaño de tabla de marcos de página

Publicado: 21 Nov 2013, 13:42
por ermanzanita
Ahora sí, gracias a los tres

Re: Memoria virtual - Tamaño de tabla de marcos de página

Publicado: 21 Nov 2013, 16:14
por bridget
A mí no me sale los del 2^25 para 32Mb de memoria. Si son 32Mb de memoria en bits serían 32*8*2^20= 2^28, no 2^25, luego para la tabla de páginas nos quedarían 16, no 13.

Serían 2^16 entradas*4Bytes por entrada= 256KB de memoria

Re: Memoria virtual - Tamaño de tabla de marcos de página

Publicado: 21 Nov 2013, 16:30
por Maya
La memoria no se direcciona a nivel de bit, se direcciona a nivel de byte, por eso sobraria multiplicar *8 en tu cálculo.

Re: Memoria virtual - Tamaño de tabla de marcos de página

Publicado: 21 Nov 2013, 16:44
por bridget
Gracias Maya, ahora sé por qué metí la pata en esa pregunta ese año :)