Memoria virtual

Solo disponible en BuenasTareas
  • Páginas : 10 (2407 palabras )
  • Descarga(s) : 0
  • Publicado : 13 de septiembre de 2012
Leer documento completo
Vista previa del texto
Introducción
La finalidad de este documento es la de facilitar la comprensión de la integración completa de la jerarquía de memoria, analizando con detalle la relación entre la memoria virtual y la memoria caché. En primer lugar se realizará una descripción sobre una arquitectura genérica simplificada, para pasar posteriormente a estudiar un ejemplo concreto con detalle.

Integración de lamemoria virtual y la memoria caché
Conceptos básicos Memoria Virtual
La principal finalidad de la memoria virtual es la de resolver la limitación de espacio que impone una determinada cantidad de memoria física, mucho menor que la realmente direccionable pro un procesador. La solución pasa por ofrecer a cada proceso un espacio de direccionamiento propio no limitado por la cantidad de memoria real,y establecer un mecanismo de traducción y gestión de las direcciones virtuales a las realmente disponibles en la sistema concreto. Además de esta manera se favorece la gestión de la protección y la seguridad de los procesos, puesto que son tratados como espacios separados, que solamente pueden comunicarse cuando el sistema operativo lo autorice explícitamente. Como sucede con la memoria caché,para reducir el impacto de las altas latencias de la comunicación, en este caso entre la memoria principal y la memoria secundaria, es necesario fijar un tamaño de bloque óptimo. En el caso de la memoria virtual hay dos aproximaciones posibles: bloques de tamaño fijo, también denominados páginas, o de tamaño variable (segmentos). En este documento adoptaremos la solución paginada, aunque lo descritoes fácilmente extrapolable a la memoria virtual segmentada. En cualquier caso, el tamaño de las páginas o segmentos es mucho mayor que el de los bloques de caché, y ronda los varios KB. En la memoria virtual paginada, la dirección consta de dos partes: • • el número de página (si es virtual) o el número de marco (si la dirección es física) el desplazamiento dentro de la página (del mismo número debits en ambos casos)

El mecanismo empleado para traducir una dirección virtual en otra física es una sencilla tabla: la Tabla de páginas, que en su versión más simple consta de una entrada por cada dirección virtual posible, y cuyo ancho depende del número de bits del marco más los bits de protección, validez, etc. Obviamente, la Tabla de Páginas debe residir en la memoria principal decomputador, y es única para cada proceso, por lo que esta memoria alberga distintos tipos de información, toda ella organizada en páginas en este caso (Figura 1). • • • Porciones código de las rutinas del S.O. Porciones de código y datos de los diferentes procesos en ejecución Páginas que contienen parte de las diferentes tablas de páginas de los procesos en ejecución

La memoria secundaria, a su vez,contiene también distinto tipo de información. Por un lado alberga el código ejecutable de los distintos procesos, en los archivos correspondientes del sistema de ficheros. Por otro lado debe alojar las páginas de datos de los procesos o del sistema operativo que son desalojadas de la memoria principal por cuestión de espacio, pero que pueden volver a ser cargadas en un futuro inmediato. Esto eslo que se denomina información de swap, y puede almacenarse en un fichero especial o incluso en una partición del disco duro destinada únicamente para ese uso. Memoria Principal
pagina 0 S.O: código pagina 1 S.O: TP proc i pagina 2 proc i pagina 3 proc j

Memoria Secundaria

...
pagina n S.O: TP proc j

Figura 1: Organización de la memoria principal Uno de los problemas asociados al uso deuna tabla de páginas es que se requiere más de un acceso a la memoria principal para obtener la dirección física real del dato o instrucción buscado. Puesto que esta penalización puede resultar excesiva, es habitual utilizar una pequeña memoria cache para contener las traducciones de las direcciones más recientemente usadas, y limitar el acceso a la memoria principal solamente en aquellos casos...
tracking img