Organizacion de la Memoria Virtual


3.2.1 Evolución de las organizaciones de almacenamiento
3.2.2 Paginación
3.2.3 Segmentación

3.2.4 Sistemas de paginación - segmentación
 

ORGANIZACIÓN DE MEMORIA VIRTUAL

 “Almacenamiento virtual” significa la capacidad de direccional un espacio de almacenamiento mucho mayor que el disponible en el almacenamiento primario de determinado sistema de computación.

 Los métodos más comunes de implementación son mediante:

 Las direcciones generadas por los programas en su ejecución no son, necesariamente, aquellas contenidas en el almacenamiento primario (memorial real), ya que las direcciones virtuales suelen seleccionase dentro de un número mucho mayor de direcciones que las disponibles dentro del almacenamiento primario.

Evolución de las organizaciones de almacenamiento

La evolución en las organizaciones de almacenamiento puede reunirse como sigue:

PAGINACIÓN

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.

La  memoria física se administra implementando bloques de tamaño consistente denominados marcos. Obviamente el tamaño de un marco debe ser igual al tamaño de una página. Por lo general  el tamaño  designado para los marcos y páginas es pequeño.

Frecuentemente se diferencia entre la paginación pura y la combinación de paginación y segmentación.

Las páginas se transfieren  del almacenamiento secundario al primario en bloques llamados “marcos de páginas”.

La traducción dinámica de direcciones incluye:

            Un proceso en ejecución hace referencia en dirección virtual  “V= (p, d)”. Un mecanismo de transformación de paginas busca la pagina “p” en la tabla de paginas y determina si la “p” se encuentra en el marco de pagina “p”. La dirección de almacenamiento real se forma por la concatenación de “p” y “d”.

La tabla de mapa de páginas debe indicar si se encuentra o no en el almacenamiento primario la pagina referenciada:

La dirección de almacenamiento primario “a”, donde comienza el marco de pagina “p”, (suponiendo un tamaño de pagina “p”), esta dada por: “a = (p)(p)”, se supone marcos de pagina numerados 0,1,2, etc.

SEGMENTACIÓN

Este método consiste en la asignación de bloques de memoria de tamaño variable, llamados segmentos. El tamaño de cada segmento será el requerido según la petición, por ejemplo el tamaño del proceso a cargar. El tamaño máximo para un segmento estará determinado por la capacidad de direccionamiento del hardware de la computadora, esto es, de cuantos bits se dispone par almacenar una dirección. El acceso a cada elemento individual (byte), en la memoria se hace mediante una dirección de memoria que se integra por dos elementos:

La combinación (suma) de la dirección de segmento y la de desplazamiento generan la dirección de memoria absoluta a acceder.

En los sistemas de segmentación un programa y sus datos pueden ocupar varios bloques separados de almacenamiento real.

Los bloques:

Un esquema posible de protección es el uso de claves de protección del almacenamiento: las claves están bajo el control estricto del S.O. un programa de usuario,  a quien corresponde una cierta clave en la C.P.U, solo puede hacer referencia a los otros bloques del almacenamiento con igual clave de protección.

Una dirección virtual es un par ordenado V = (s,d): “s” es el numero del segmento del almacenamiento virtual en el cual residen los elementos referidos. “d” es el desplazamiento en el segmento “s” en el cual se encuentra el elemento referido.

Un proceso solo puede ejecutarse si su segmento actual (como mínimo) esta en el almacenamiento primario. Los segmentos transfieren del almacenamiento secundario al primario como unidades completas. Un nuevo segmento puede ser colocado en una serie disponible de posiciones contiguas del almacenamiento primario de tamaño suficiente para alojar al segmento. La traducción dinámica de direcciones utiliza una “tabla de mapa de segmentos”.

SISTEMAS DE PAGINACION – SEGMENTACION

Tanto la segmentación como la paginación ofrecen significativas ventajas, algunos sistemas (multics y la serie 370 de IBM) combinan ambas técnicas en donde los segmentos tienen un tamaño múltiplo de pagina.

Este método utiliza segmentación y paginación tal y como su nombre lo indica, el proceso es el siguiente: se hace la solicitud de acceso por medio de una dirección “V” la cual contiene campos segmento, página y desplazamiento. Con el campo segmento, lo que se trata es de acceder a una tabla de segmentos, cada campo de dicha tabla apunta directamente a la tabla de paginas asignadas para este segmento conteniendo una dirección que será sumada a una dirección en la tabla asociativa para por fin formar una dirección real con el desplazamiento de “V”.

Ofrecen las ventajas de las dos técnicas de organización del almacenamiento virtual el tamaño de los segmentos es múltiplo del de las paginas. No es necesario que todas las páginas de un segmento se encuentren al mismo tiempo en el almacenamiento primario.

Las páginas de almacenamiento virtual, que son contiguas en este almacenamiento,  no necesitan ser contiguas en el almacenamiento real. El direccionamiento es tridimensional con una dirección de almacenamiento virtual “V = (s, p, d): “s” es el numero del segmento. “p” es el numero de pagina. “d” es el desplazamiento en la pagina donde se encuentra asignado el elemento deseado.