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