Organización y administración de la memoria virtual
Paginación
1.
2. La paginación consiste en considerar el
espacio de direcciones lógicas de cada
proceso como un conjunto de bloques de
tamaño consistente llamados paginas. Cada
dirección lógica manejada para un proceso
estará conformada por un par de
valores [pagina: desplazamiento].
3. La memoria física se compone en
bloques de tamaño fijo denominados
marcos.
La memoria lógica también se
compone en bloques del mismo
tamaño denominados páginas
4. P D
número de página desplazamiento en la página
m - n
n
5.
6.
7. Un apuntador a tabla de páginas se
almacena con los demás valores de registro
en el bloque de control de procesos.
Cuando se le dice al despachador que inicie
un proceso, debe recargar los registros del
usuario y definir los valores correctos de la
tabla de páginas de hardware a partir de la
tabla de páginas de usuario que esta
almacenada.
8. La tabla se implementa como un conjunto de
registros dedicados . Estos registro se deberán
construirse con una lógica de muy alta
velocidad para que la traducción de
direcciones sea eficiente.
El uso de los registros para la tabla de páginas
es satisfactorio si la tabla es razonablemente
pequeña.
9. Los registros asociativos se conforman por:
una llave y un valor, o buffers de
traducción de vista lateral (TLB)
Se utiliza para una búsqueda rápida (cache
de hardware especial )
Si el número de páginas no están en los
registros, se debe hacer una referencia de
memoria a la tabla de páginas
10.
11. PROTECCIÓN
En un ambiente con paginación se realiza mediante bits de protección
Éstos se mantienen en la tabla de páginas
Un bit puede definir que una página sea de lectura y escritura, o sólo
de lectura.
Cada referencia a la memoria pasa por la tabla de páginas para
encontrar el número correcto de marco.
Los bits de protección pueden examinarse para verificar trampas de
hardware.
solución: hardware, bits de protección distintos para cada
clase de acceso
Bit de validez-invalidez: un bit más a cada entrada de la tabla de
páginas. Si es válido indica que la página asociada está en la página
de direcciones lógicas del proceso.
Registro de longitud de la tabla de páginas (PTLR)->hardware, par
indicar el tamaño de una tabla de páginas.
12.
13. PAGINACIÓN CON MÚLTIPLES
NIVELES
Utiliza un algoritmo de paginación con dos niveles
Una tabla de páginas misma también se pagina.
Dirección lógica: número de página y desplazamiento de página.
El número de página se subdivide en otro número de página y un
desplazamiento.
La arquitectura VAX soporta paginación con dos niveles.
La VAX es una máquina de 32 bits, tamaño de página 512 bytes. El
espacio de direcciones lógicas de un proceso se divide en 4 secciones
iguales.
La arquitectura SPARCsoporta un esquema de paginación con tres
niveles.
La arquitectura Motorola 68030 soporta una esquema de paginación
con cuatro niveles.
16. RENDIMIENTO DEL SISTEMA CON
PAGINACIÓN CON NIVELES
MÚLTIPLES
Cada nivel se almacena como una tabla
distinta en memoria
La conversión de una dirección lógica en una
física puede requerir cuatro accesos a
memoria.
La técnica caché nuevamente genera
dividendos, y el rendimiento se mantiene
razonalbes.
Tiempo a acceso a memoria.
17. TABLAS DE PÁGINAS
INVERTIDA
Tiene una entrada por cada página (marco) real de memoria.
Ordenada por dirección física, y búsqueda por dirección
virtual.
Entrada: dirección virtual de la página almacenada en dicha
ubicación de memoria real, con información acerca del
proceso que posee dicha página.
Sólo hay una tabla de páginas en el sistema, y sólo tiene una
entrada por cada página de la memoria física.
Reduce la cantidad de memoria necesaria para almacenar
cada tabla de páginas, pero incrementa la cantidad de tiempo
necesario para buscar en la tabla cuando ocurre una
referencia a una página.
Sepuede usar una tabla de hash para limitar la búsqueda a
una (o unas pocas) entradas de tabla de páginas.
18.
19. PÁGINAS
COMPARTIDAS
Compartir un código común
El código compartido debe estar en el mismo lugar en el
espacio de direcciones lógicas de todos los procesos
Código reentrante:
- no puede modificarse a sí mismo
- nunca cambia durante la ejecución
Dos o más procesos pueden ejecutar el mismo código al
mismo tiempo.
Sepueden compartir: editores de texto, compiladores,
sistemas de bases de datos, etc.
Cada proceso tiene una copia separada del código
23. 1.¿En cuantas clases
se pueden dividir los
sistemas de
Administración de
Memoria y cuales
son?
1. clase, intercambio y
paginación
2. clases, los que trasladan
procesos entre la memoria y
el disdo duro durante la
ejecución y los que no lo
24. 2.¿Qué permite el uso de
la monoprogramación
sin intercambio ni
paginación?
1. Permite que se
ejecute un proceso a
la vez
2. Permite acomodar al
sistema operativo en
diferentes lugares
25. 3.¿Cuál es la forma más fácil de
lograr la multiprogramación?
1. Dividir la memoria en partes
iguales
2. Dividir la memoria en cierta
cantidad de particiones,
desiguales
3. Dividir la memoria en n
particiones, posiblemente
26. 4.¿Es correcto que la
paginación de 3
niveles fue trabajada
por la computadora
PDP-11?
1. Es incorrecto
2. Es correcto