miércoles, 2 de mayo de 2012

Tablas de memoria



TABLAS DE MEMORIA EN WINDOWS

La estructura de la memoria en Windows es en forma de árbol, en el cual se definen claramente 3 partes:
• Directorio de Páginas (Page Directory): Cada proceso en ejecución, dispone de un solo Directorio de Páginas. Se trata de una tabla con 1024 entradas que almacena los punteros a las Tablas de Página.
• Tabla de Páginas (Page Table): Cada Tabla de Página es a su vez otra tabla que contiene otras 1024 entradas que ya apuntan a las propias páginas.
• Página (Page Frame): Cada Página es un bloque de 4 KB donde se almacenan los datos de cada proceso.Para aumentar la velocidad, el cambio no se realiza byte a byte, sino página a página. cuyo tamaño en Windows es de4 KB. De ahí que toda la memoria virtual y física esté paginada. Memoria Virtual en forma de páginas, y memoria física enforma de marcos de página.
Las páginas pueden estar en uno de los siguientes estados:
Libre:Una página libre no puede ser accedida por ningúnproceso, pero sí puedeser reservada o encargada.
Reservada:Una página reservada es un bloque del espacio de dirección virtual que ha sido fijada para usos futuros. No sepuede acceder a una página reservada, ni tiene datos almacenados. Simplemente bloquea el rango y no permite que sea asignadoporotras funciones de asignación.
Encargada: Aquella que ya ha sido asignada a un espacio físico, ya sea n memoria física o en memoria virtual. No podemos saber donde está almacenada la página, pues de eso se encarga el sistema y puede que esté constantemente cambiándola de posición, pero lo que sí sabemos es que cuando la necesitemos, ahí lo tendremos


TABLA DE MEMORIA EN LINUX

Linux supone que hay tres niveles de tablas de páginas:
• El directorio de tablas de páginas (punteros a tablas intermedias).
• La tabla de páginas intermedia (punteros a tablas de páginas).
• Las tablas de páginas (punteros a páginas).
Cada nivel de tablas contiene el número de marco de página del siguiente nivel en la tabla de páginas. La figura muestra cómo una dirección virtual se divide en un número de campos, donde cada uno de ellos representa un desplazamiento dentro de una tabla de páginas. Para traducir una dirección virtual a una física, el procesador tiene que tomar el contenido de cada uno de estos campos, convertirlos en desplazamientos de la página física que contiene la tabla de páginas y leer el número de marco de página del siguiente nivel de la tabla de páginas. Esta operación se repite tres veces hasta que se encuentra el número de la página física que contiene la dirección virtual. Ahora el último campo de la dirección virtual se utiliza para encontrar el dato dentro de la página.




No hay comentarios:

Publicar un comentario