Vous êtes sur la page 1sur 4

MEMORIA VIRTUAL

La memoria virtual utiliza dos niveles de la jerarquía de memoria: la memoria principal y una
memoria de respaldo (que usualmente es el disco duro, aunque también puede ser una
memoria expandida). Sobre memoria de respaldo se establece un mapa uniforme de
memoria virtual. Las direcciones generadas por el procesador se refieren a este mapa
virtual, pero, sin embargo, los accesos reales se realizan sobre la memoria principal.

Para su funcionamiento, la memoria virtual exige una gestión automática según la jerarquía
de memoria formada por los niveles de memoria principal y de disco.

La gestión de memoria es automática y la realiza el sistema operativo con ayuda del


hardware de la máquina.

Los métodos más comunes para poner en práctica el almacenamiento virtual son:

● Paginación
● Segmentación

Paginación

En este método las páginas se transfieren de almacenamiento secundario al primario y se


colocan dentro de los bloques llamados marcos de página, que tiene el mismo tamaño que
las páginas entrantes. Una página entrante puede colocarse en cualquier marco de página
disponible.

En la paginación cada proceso tiene su tabla de páginas y cada que carga todas sus
páginas en memoria principal, se crea y carga en memoria principal una tabla de páginas.
Cada entrada de dicha tabla contiene el número de marco de la página correspondiente en
memoria principal. Es normal asociar a una única tabla de páginas con cada proceso. En
este caso, las entradas de la tabla de páginas pasan a ser más complejas. Puesto que sólo
algunas de las páginas de un proceso pueden estar en memoria principal, se necesita un bit
en cada entrada de la tabla para indicar si la página correspondiente está presente en
memoria principal o no lo está. Si el bit indica que la página está en memoria, la entrada
incluye también el marco para esa página.

Segmentación

El método de segmentación cuenta con las siguientes características:


★ Los bloques pueden tener tamaños diferentes y se denominan Segmentos.
★ Un programa y sus datos pueden ocupar varios bloques. Estos pueden estar
separados (no contiguos) en almacenamiento real.
★ Los segmentos se transfieren del almacenamiento al secundario como unidades
completas.
★ Un segmento entrante puede colocarse en cualquier área disponible de
almacenamiento primario cuyo tamaño sea suficiente para contenerlo.

En esta manera de administración de la memoria virtual cada proceso tiene su propia tabla
de segmentos, cuando todos los segmentos se encuentran en memoria principal, la tabla de
segmentos del proceso se crea y carga en memoria. Cada entrada de la tabla de
segmentos contiene la dirección de comienzo del segmento correspondiente en memoria
principal así como su longitud. La misma estructura, una tabla de segmentos se necesitará
al hablar de un esquema de memoria virtual basado en segmentación. Nuevamente, es
normal asociar una única tabla de segmentos a cada proceso.

En este caso las entradas de la tabla de segmentos pasan a ser más complejas. Puesto que
solo algunos de los segmentos de un proceso estarán en memoria principal, se necesitará
de un bit en cada entrada de la tabla de segmentos para indicar si el segmento
correspondiente está presente en memoria principal. Si el bit indica que el segmento está en
memoria, la entrada incluye también la dirección de comienzo y la longitud del segmento.

Otro bit de control necesario en la entrada de la tabla de segmentos es un bit de


modificación que indique si el contenido del segmento correspondiente ha sido modificado
desde que se cargó por última vez en memoria principal.

Fragmentación

La fragmentación es la memoria que queda desperdiciada al usar los métodos de gestión de


memoria.
La fragmentación es generada cuando durante el reemplazo de procesos quedan huecos
entre dos o más procesos de manera no contigua y cada hueco no es capaz de soportar
ningún proceso de la lista de espera.
La fragmentación puede ser:
★ Fragmentación Externa: existe el espacio total de memoria para satisfacer un
requerimiento, pero no es contigua.
★ Fragmentación Interna: la memoria asignada puede ser ligeramente mayor que la
requerida; esta referencia es interna a la partición, pero no se utiliza.
La fragmentación externa se puede reducir mediante la compactación para colocar toda la
memoria libre en un solo gran bloque, pero esta solo es posible si la relocalización es
dinámica y se hace en tiempo de ejecución.

ITTLA
Sistemas Operativos II

Chino Alvarado Brenda Edith

Memoria Virtual

Vous aimerez peut-être aussi