Paginación Contenido Problema Esquema de tabla de páginas de

Anuncio
Contenido
• Estructura de las páginas
Paginación
– Niveles
– Tabla Invertida de Páginas
– Páginas Compartidas
M. B. Ibáñez
M. B. Ibáñez
Problema
Esquema de tabla de páginas de
dos niveles
Espacio de Direcciones Lógicas muy grande
• Considere un sistema con un espacio lógico
de direcciones de 32-bits
• Tamaño de la página: 4K bytes (2^12)
• Entonces, una tabla de páginas puede tener
hasta un millón de (2^32/2^12)
• Cada entrada consiste de 4 bytes, cada
proceso puede necesitar hasta 4 megabytes
de memoria física para almacenar su tabla
M. B. Ibáñez
Esquema de Tabla de Páginas de dos
niveles
•
•
•
Una dirección lógica (en una máquina de 32 bits con un tamaño de páginas de
4K) se divide en:
– Un número de página que consiste de 20 bits.
– Un desplazamiento de página que consiste de 12 bits.
Dado que la tabla de páginas en paginada, el número de la página se divide a
su vez en:
– Un número de página de 10-bits.
– Un desplazamiento dentro de la página de 10-bits.
Entonces, la dirección lógica es así:
page number
p1
p2
10
•
page offset
d
10
12
donde pi es un índice a la página externa, y p2 es el desplazamiento dentro de
la página de la tabla interna.
M. B. Ibáñez
Traducción de direcciones para arquitecturas
de 32-bits con dos niveles de paginación
...
10
10
p1
p2
12
d
...
outer page
table
...
...
...
...
...
page table
M. B. Ibáñez
From Operating System Concepts. Silbershatz & Galvin. Addison Wesley.
M. B. Ibáñez
...
...
...
MEMORY
1
Ejercicio
Ejercicio
Un sistema de memoria virtual paginada usa un tamaño de
página de 1024 bytes
Las entradas de la tabla de páginas tienen un largo de 4 bytes
1K = 210
4Kbytes
La máxima cantidad de espacio virtual de cada proceso es 2
El tamaño del espacio físico es también 2
30
30
bytes
bytes
30
page offset
10
page
M. B. Ibáñez
M. B. Ibáñez
Ejercicio
Ejercicio
¿Cuál es el mínimo número de niveles de paginación necesarios
en este sistema para asegurar que cada página quepa completamente
en un frame?
30
p1
p2
p3
8
8
4
page offset
10
• Dibuje un diagrama de traducción que
muestre cómo realizar la traducción de la
dirección virtual en este sistema
• Indique los tamaños de los registros, las
direcciones y las tablas de páginas
A lo sumo 2 10 entradas de la tabla de páginas entran en
2 2 un frame
M. B. Ibáñez
M. B. Ibáñez
Ejercicio
4
p1
8
p2
8
p3
p3
Ejemplo de Desempeño
10
offset
30
base register
Level 0 table
14 entries
Level 1 table
256 entries
frame number
20
M. B. Ibáñez
Level 2 table
256 entries
offset
10
• Calcule el tiempo efectivo de acceso a
memoria para el ejemplo anterior
• Toma 20 nanoseconds buscar en los
registros asociativos
• Toma 100 nanoseconds acceder a memoria
• Hallar una dirección de memoria toma 120
nanoseconds cuando el número de página
está en los registros
M. B. Ibáñez
2
Ejemplo de Desempeño
• Si no se encuentra el número de página en
los registros asociativos (20 nanoseconds)
– Debe referenciarse la memoria usando la tabla
de páginas y el número de frame (100 x 3
nanoseconds)
– Debe referenciarse el byte deseado en memoria
(100 nanoseconds)
Ejemplo de Desempeño
• Supongamos tener un 98% hit ratio
• Calcule el effective memory access time:
EMAT
EMAT = 0.98 x 120 + 0.02 x 420 = 126 nanoseconds
20 + 300 + 100 = 420 nanoseconds
M. B. Ibáñez
M. B. Ibáñez
Un problema
Tabla de Páginas Invertida
• Cada proceso tiene una página asociada a él
• La tabla de páginas tiene una entrada por cada
página que el proceso utiliza
• Cada tabla de página consiste en millones de
entradas
• Estas tablas pueden consumir grandes cantidades
de memoria física, que es tan solo utilizada para
saber cómo la otra memoria física es utilizada
• Una tabla invertida de páginas tiene una
entrada por cada página real (frame) de
memoria
page table
MEMORY
M. B. Ibáñez
M. B. Ibáñez
Tabla Invertida de Páginas
Arquitectura de Tablas de
Páginas invertidas
• Cada entrada consiste de
– Dirección virtual de la página almacenada en
una localidad real de memoria
– Información acerca de los procesos que poseen
la página
Process id
Page number
pid
p
d
pid
i
d
p
page table entry
From Operating System Concepts. Silbershatz & Galvin. Addison Wesley.
M. B. Ibáñez
M. B. Ibáñez
3
Ventajas y Desventajas
• Ventajas
• Desventajas
– Baja la cantidad de
memoria requerida
– Aumenta la búsqueda
en la tabla cuando
ocurre una referencia
Páginas Compartidas
• Código compartido
– Una copia de código read-only (reentrante) se comparte entre
procesos (i.e., text editors, compilers, window systems).
– El código compartido debe aparecer en la misma localidad de la
dirección lógica de todos los procesos
• Código privado y datos
– Cada proceso mantiene una copia separada del código y los datos.
– Las páginas para el código privado y los datos pueden aparecer en
cualquier lugar del espacio lógico de direcciones
From Operating System Concepts. Silbershatz & Galvin. Addison Wesley
M. B. Ibáñez
M. B. Ibáñez
Páginas Compartidas
M. B. IbáñezFrom Operating System Concepts. Silbershatz & Galvin. Addison Wesley
4
Descargar