paginación

 

Informe - Paginación

 

Suponga un sistema paginado con un rango de direcciones de 4 GB (  4 294 967 296 Direcciones):       

                                                                                                    

a)    ¿Cuántas páginas tendrá el sistema si se utilizan páginas de 4.096 bytes?

R/  Como nuestro sistema paginado tiene 4GB = 4.294.967.296 bytes

Ahora vemos que nuestras páginas son de 4.096 bytes; por lo tanto nuestro sistema tendrá 4.294.967.296/4.096 =  1.048.576 paginas.

 

b)    ¿Qué tamaño (en bits) tendrá una entrada de la tabla de traducción? Suponga que sólo se guarda el número de marco físico.

R/ Un byte = 8 bits.Tendríamos que por cada entrada de la tabla de traducción sería 4.096*8 = 32.768

 

c)    ¿Qué tamaño tendrá la tabla de paginación si se desea cubrir todo el rango?

R/ Suponiendo que el tamaño de la página sea de 4 KB (4096 bytes)= 2¹² tendríamos 12 bits para indexar la página, y 20 bits para la página virtual.

12 bits + 20 bits = 32 bits.

 

 

d)    Suponga que el tamaño de la tabla de paginación fuera demasiado grande. Propone dos soluciones explicando ventajas y desventajas de cada una.

 

 

Solución 1

 

almacenar la propia tabla de páginas en memoria, y apuntar al inicio de la tabla con un juego de registros especiales: el registro de base de la tabla de páginas (PTBR, page table base register) y

el registro de longitud de la tabla de páginas (PTLR, page table length register).De

esta manera, en el cambio de contexto sólo hay que cambiar estos dos registros,

y además se cuenta con un espacio muy amplio para guardar las tablas de

páginas que se necesiten. El problema con este mecanismo es la velocidad: Se

estaría penalizando a cada acceso a memoria con uno adicional —si para resolver

una dirección lógica a su correspondiente dirección física hace falta consultar

la tabla de páginas en memoria, el tiempo efectivo de acceso a memoria se

duplica.

 

Solución 2

 

La salida obvia a este dilema es el uso de un caché. Sin embargo, más que

un caché genérico, la MMU utiliza un caché especializado en el tipo de información

que maneja: el buffer de traducción adelantada o anticipada. (Translation

lookaside buffer. El TLB es una tabla asociativa (un hash) en memoria de alta velocidad,

una suerte de registros residentes dentro de la MMU, donde las llaves

son las páginas y los valores son los marcos correspondientes. De este modo, las

búsquedas se efectúan en tiempo constante; dado que el TLB es limitado en tamaño, es necesario explicitar una política que indique dónde guardar las nuevas entradas (esto es, qué entrada

reemplazar) una vez que el TLB está lleno y se produce un fallo de página.

Uno de los esquemas más comunes es emplear la entrada menos recientemente

utilizada (LRU, Least Recently Used), nuevamente apelando a la localidad de

referencia. Esto tiene como consecuencia necesaria que debe haber un mecanismo

que contabilice los accesos dentro del TLB (lo cual agrega tanto latencia

como costo). Otro mecanismo (con obvias desventajas) es el reemplazar una

página al azar.

 

Conclusiones

 

1.            Gracias a la UMM (Unidad de Manejo de Memoria) podemos verificar cada acceso a la RAM, y validar que no se infrinjan condiciones de ejecución.

2.            La paginación es una técnica con la cual se puede ocupar el espacio en la memoria interna haciendo uso de partes fraccionadas en secciones de igual tamaño, que sirven como unidades de acumulación de información, usando diferentes métodos con las tablas de páginas, haciendo uso de sus registros según su tamaño disminuyendo su desperdicio al momento de su fragmentación.

 

Comentarios

Entradas populares de este blog

PRESENTACIÓN DEL MÓDULO DE DESARROLLO HUMANO Y SOCIAL