¨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],[p:d].
Metodo Basico
¨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
}Una dirección generada por
la CPU se divide en:
◦número de página (p)
se usa como índice a una
tabla de páginas que contiene la dirección de cada
página en la memoria física
◦desplazamiento en
la página
(d)
se combina con
la dirección básica para
definir la dirección de memoria que
se envía a la unidad de memoria
para un espacio de direcciones de 2m y de páginas 2n
Estructura
De La Tabla De Páginas
¨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.
Segmentación
¨La segmentación es un esquema de
administración de la memoria que soporta la visión que el usuario tiene de la
misma
¨Un espacio de direcciones lógicas
es una colección de segmentos.
¨Cada segmento tiene un nombre y una
longitud
¨Las direcciones especifican tanto
el nombre del segmento como el desplazamiento dentro del segmento
¨Por lo tanto, el usuario especifica
cada dirección mediante dos cantidades: un nom
bre de segmento y un desplazamiento.
¨En la
paginación el
usuario especificaba solamente una única dirección, que el hardware
particionaba en número de página y desplazamiento, siendo todo ello invisible
al programador.
¨La transformación se efectúa por
medio de una tabla de segmentos.
¨Cada entrada de la tabla de
segmentos tiene una base de segmento y un límite
¨El desplazamiento d de la dirección
lógica tiene que estar comprendido entre 0 y el límite de segmento. En caso
contrario se produce una excepción al sistema operativo
Implementacon de tablas de segmento
¨Al igual que la tabla de páginas,
la tabla de segmentos puede situarse bien en registros rápidos o bien en
memoria
¨Con tantos segmentos no es factible
mantener la tabla de segmentos en registros, de modo que tiene que mantenerse
en memoria
Un programa en ejecución hace referencia
a la dirección virtual v = (p,d).
•Cada
entrada en el almacenamiento asociativo se busca de forma simultánea para la
página “p”:
•Se
obtiene “p ’ ” como el marco de página
correspondiente a la página “p”.
•Se
concatena “p ’ ” con “d” formando
la dirección real “r”.
•Cada
una de las células del almacenamiento asociativo se registra de manera
simultánea:
Hace costoso
el almacenamiento asociativo.
•Implementar
la transformación asociativa pura resulta demasiado costoso, tal lo ocurrido
con la implementación de la transformación directa pura utilizando “caché”.
¨Se utiliza un almacenamiento asociativo
capaz de mantener solo un pequeño porcentaje del mapa completo de páginas para
un proceso
Traducción
Dinámica de Direcciones en Sistemas de Paginación / Segmentación
¨Se
considera la traducción dinámica de direcciones de virtuales a reales en un
sistema de paginación / segmentación utilizando la combinación de
transformación asociativa / directa
No hay comentarios:
Publicar un comentario