You are on page 1of 17

MEMORIA VIRTUAL ESTRUCTURA DE HARDWWARE Y CONTROL

Memoria virtual
y La memoria virtual es una tcnica para proporcionar la

simulacin de un espacio de memoria mucho mayor que la memoria fsica de una mquina. Esta "ilusin" permite que los programase hagan sin tener en cuenta el tamao exacto de la memoria fsica. La ilusin de la memoria virtual est soportada por el mecanismo de traduccin de memoria, junto con una gran cantidad de almacenamiento rpido en disco duro..

y La parte de memoria virtual que est almacenada en la

memoria principal , es accesible a la CPU, segn un programa va ejecutndose.

y La memoria virtual ha llegado a ser un componente

esencial de la mayora de los S.O actuales. Y como en un instante dado, en la memoria slo se tienen unos pocos fragmentos de un proceso dado, se pueden mantener ms procesos en la memoria. y La memoria virtual tambin simplifica la carga del programa para su ejecucin llamado reubicacin, este procedimiento permite que el mismo programa se ejecute en cualquier posicin de la memoria fsica .

OPERACIN BASICA
y Cuando se usa Memoria Virtual, o cuando una

direccin es leda o escrita por la CPU, una parte del hardware dentro de la computadora traduce las direcciones de memoria generadas por el software (direcciones virtuales) en: y la direccin real de memoria (la direccin de memoria fsica), o y una indicacin de que la direccin de memoria deseada no se encuentra en memoria principal (llamado excepcin de memoria virtual)

y En el primer caso, la referencia a la memoria es

completada, como si la memoria virtual no hubiera estado involucrada: el software accede donde deba y sigue ejecutando normalmente. En el segundo caso, el sistema operativo es invocado para manejar la situacin y permitir que el programa siga ejecutando o aborte segn sea el caso. La memoria virtual es una tcnica para proporcionar la simulacin de un espacio de memoria mucho mayor que la memoria fsica de una mquina. Esta "ilusin" permite que los programas se ejecuten sin tener en cuenta el tamao exacto de la memoria fsica.

y La ilusin de la memoria virtual est soportada por el

mecanismo de traduccin de memoria, junto con una gran cantidad de almacenamiento rpido en disco duro. As en cualquier momento el espacio de direcciones virtual hace un seguimiento de tal forma que una pequea parte de l, est en memoria real y el resto almacenado en el disco, y puede ser referenciado fcilmente.

DETALLES
y La traduccin de las direcciones virtuales a reales es

implementada por una Unidad de Manejo de Memoria (MMU). El sistema operativo es el responsable de decidir qu partes de la memoria del programa es mantenida en memoria fsica. Adems mantiene las tablas de traduccin de direcciones (si se usa paginacin la tabla se denomina tabla de paginacin), que proveen las relaciones entre direcciones virtuales y fsicas, para uso de la MMU. Finalmente, cuando una excepcin de memoria virtual ocurre, el sistema operativo es responsable de ubicar un rea de memoria fsica para guardar la informacin faltante, trayendo la informacin desde el disco, actualizando las tablas de traduccin y finalmente continuando la ejecucin del programa que dio la excepcin de memoria virtual desde la instruccin que caus el fallo.

y En la mayora de las computadoras, las tablas de

traduccin de direcciones de memoria se encuentran en memoria fsica. Esto implica que una referencia a una direccin virtual de memoria necesitar una o dos referencias para encontrar la entrada en la tabla de traduccin, y una ms para completar el acceso a esa direccin.

y Para que la memoria virtual sea prctica y efectiva, se

necesitan dos ingredientes. Existir un soporte de hardware y, en segundo lugar, el S.O debe incluir un software para gestionar el movimiento de pginas o segmentos entre memoria secundaria y memoria principal. Justo despus de obtener la direccin fsica y antes de consultar el dato en memoria principal se busca en memoria-cache, si esta entre los datos recientemente usados la bsqueda tendr xito, pero si falla, la memoria virtual consulta memoria principal , , en el peor de los casos se consulta de disco (swapping).

ESTRUCTURAS DE HARDWARE Y DE CONTROL


y Los mtodos de administracin de la memoria

principal, que no utilizan Memoria Virtual y esquemas de Paginacin y Segmentacin, es decir que llevan a las direcciones directamente al bus de la memoria, tienen un inconveniente: producen lo que se denomina fragmentacin.

La fragmentacin
y Son huecos en la memoria que no pueden usarse debido a lo pequeo de su espacio, provoca un desperdicio de memoria principal. y Una posible solucin para la fragmentacin externa es permitir que espacio de direcciones lgicas lleve a cabo un proceso en direcciones no contiguas, as permitiendo al proceso ubicarse en cualquier espacio de memoria fsica que est disponible, aunque est dividida. Una forma de implementar esta solucin es a travs del uso de un esquema de paginacin.

y Al utilizar la memoria virtual, las direcciones no pasan en forma directa al bus de memoria, sino que van a una unidad administradora de la memoria (MMU Memory Management Unit). y Estas direcciones generadas por los programas se llaman direcciones virtuales y conforman el hueco de direcciones virtuales. Este hueco se divide en unidades llamadas pginas. y Las unidades correspondientes en la memoria fsica se llaman marcos para pgina o frames. Las pginas y los marcos tienen siempre el mismo tamao.

Gestin de memoria:
y Se puede cargar y descargar un proceso de la memoria

principal de tal forma que ocupe regiones diferentes de la memoria principal en momentos distintos a lo largo de su ejecucin. y Un proceso puede dividirse en varias partes (pginas o segmentos) y no es necesario que estas partes se encuentren contiguas en la memoria principal.

Que es un fragmento?
y El trmino fragmento hace referencia tanto a pginas

como a segmentos, dependiendo de si se emplea paginacin o segmentacin. Supngase que se trae un proceso a la memoria en un momento dado, el S.O comienza trayendo slo unos pocos fragmentos, incluido el fragmento que contiene el comienzo del programa.

Conclusiones:
y Para que la memoria virtual sea prctica y efectiva, se

debe tener dos caractersticas:


y Debe existir un soporte de hardware y, en segundo

lugar, el S.O debe incluir un software para gestionar el movimiento de pginas o segmentos entre memoria secundaria y memoria principal.

Recomendaciones:
y Una posible solucin para la fragmentacin externa

es permitir que espacio de direcciones lgicas lleve a cabo un proceso en direcciones no contiguas, as permitiendo al proceso ubicarse en cualquier espacio de memoria fsica que est disponible, aunque est dividida. y Una forma de implementar la solucin de la fragmentacin es a travs del uso de un esquema de paginacin.

You might also like