Vous êtes sur la page 1sur 29

Memoria Virtual

Departamento de Arquitectura de
Computadores

ndice


Introduccin. Conceptos bsicos





Memoria Principal



Caractersticas fsicas
Organizacin

Memoria Cach






Caractersticas de los sistemas de memoria


Jerarquas de memoria

Organizacin
Polticas de ubicacin
Polticas de sustitucin
Polticas de escritura
Polticas de bsqueda

Memoria Virtual





Conceptos generales
Paginacin
Segmentacin
Segmentacin paginada

Introduccin


Memoria virtual


La tcnica de la MV se usa prcticamente en todos los SSOO modernos. Dicha


Tcnica realiza la gestin de dos niveles adyacentes de la jerarqua de
memorias: la memoria principal ( memoria fsica) y el almacenamiento
secundario (disco).

Motivaciones/ventajas


Eliminar los inconvenientes de una memoria pequea y limitada




Los programas de usuario pueden exceder el tamao de la memoria principal. Nos


permite utilizar un espacio lgico de direcciones superior al realmente disponible en la
memoria principal.

Comparticin eficiente de la memoria entre mltiples procesos garantizando


proteccin


La memoria principal necesita solamente las partes activas de los programas. Esto nos
permite compartir eficientemente el procesador as como la memoria principal.
Proporciona los mecanismos de proteccin necesarios.

Ejemplo


PC basado en procesador Pentium II con 128MB de MP




Procesador capaz de gestionar direcciones de 46 bits => 64TB de


memoria direccionable


Los programas pueden trabajar con direcciones virtuales de 46 bits y


direcciones un espacio virtual de 64 TB

La MP est limitada a 128 MB => admite direcciones de hasta 27 bits




Necesario traducir las direcciones virtuales de 46 bits a direcciones fsicas de


27 bits

Introduccin


Las direcciones generadas por el computador estn referenciadas al espacio virtual.


Sin embargo, los accesos se realizan sobre MP. Por tanto, es necesario traducir las
direcciones virtuales a direcciones fsicas.
Si la palabra referenciada no est en MP (no tiene asignada direccin fsica) ser
necesario trasladar un bloque de memoria virtual a memoria principal.
Por tanto la gestin de la memoria principal hace referencia a:





Traduccin de direcciones
Emplazamiento de bloques en MP (fsica)
Reemplazamiento de bloques
Bsqueda de bloques

Los sistemas de MV pueden clasificarse atendiendo al tamao del bloque que se


transfiere entre MP y memoria secundaria:




Memoria virtual paginada. Bloques de igual tamao


Memoria virtual segmentada. Bloques de distinto tamao
Memoria virtual segmentada/paginada: segmentos de un nmero variable de pginas

Memoria virtual paginada




El espacio virtual de direcciones se compone de pginas de tamao fijo:




Pgina: Zona contigua de memoria de determinado tamao. (Por motivos de


eficiencia se suele trabajar siempre con tamaos potencia de 2. Ej:4 KB.)

Organizacin:




El mapa de memoria del proceso se considera dividido en pginas.


La memoria principal se considera dividida en marcos de pgina (tamao de
marco = tamao de pgina).
Los marcos contendrn pginas de los procesos en ejecucin
Direccin virtual direccin fsica
Pgina

Desplazamiento

Desplazamiento

Las direcciones que aparecen en los programas son direcciones virtuales



Son traducidas a direcciones fsicas por el MMU (memory management unit),
combinacin de hardware y software
Se requiere un mecanismo para conocer en qu marco (M) de memoria principal est
ubicada una determinada pgina (P) de memoria virtual:


Marco





Traduccin directa
TLB (translation lookaside buffer)
Tablas de paginacin multinivel

Memoria virtual paginada

Traduccin directa

Traduccin directa






Mecanismo de traduccin de direcciones virtuales a fsicas a travs de tablas de pginas


Cada programa tiene su tabla de pginas residente en memoria (cuya direccin de inicio se
almacena en un registro) que se indexa con el nmero de pgina virtual para obtener la direccin
de la pgina fsica.
Tienen tantas entradas como pginas virtuales existen.
Cada entrada de la tabla tiene:






Bit de presencia (validez): indica si la pgina est en memoria principal o no.


Nmero de marco de pgina: almacena el nmero de marco en el que se ubica la pgina
Informacin de proteccin (RWX)
Bit de pgina accedida y bit de pgina modificada: se activan si es accedida o modificada la pgina respectivamente.
Campo de direccin de disco: apunta a la posicin en la que se encuentra almacenada la pgina en la unidad de disco.

Traduccin directa

Marco de pgina

Traduccin asociativa

Ejemplo

Traduccin Mixta

Traduccin rpida de direcciones: TLB




Mejora de la traduccin de direcciones




El tiempo de acceso a la tabla de pginas (almacenada en memoria principal) es excesivo:


Un acceso para obtener la direccin fsica de memoria y otro para obtener el dato.
Mejora: Basndonos en la localidad de las direcciones hacer uso de una cache especial para
guardar la traduccin de las direcciones ms recientemente usadas
Buffer de traducciones anticipadas (Translation-Lookaside Buffer o TLB)


Las traducciones ms recientes se mantienen en una memoria especial (similar a una cache)
de acceso rpido.

Mejora de la traduccin: tabla de pginas


multinivel

Mejora de la traduccin: tabla de pginas


multinivel


Cada proceso tiene una jerarqua de tablas en la que cada entrada apunta
a tablas del siguiente nivel.
El nmero de pgina contenido en la DV se supone dividido en tantas
partes como niveles existan.
Ventaja (Invaliadacin): Si todas las entradas de una TP son invlidas, no
se almacena esa TP y se pone invlida la entrada correspondiente de la TP
superior
Desventaja: aumenta el nmero de accesos a memoria. Se hace necesario
el uso de TLB.

Eleccin del tamao de pgina

Polticas de emplazamiento de pginas


en MP


Todas las pginas son de igual tamao y coinciden con el tamao de los
marcos de pgina:
 Emplazamiento trivial:

Una pgina se puede ubicar en cualquier marco de pgina libre.

No existen unas alternativas mejores que otras.

Polticas de reemplazamiento de pginas

Polticas de bsqueda de pginas

Polticas de actualizacin de pginas

Mecanismo global de traduccin de


direcciones

Memoria virtual segmentada

Polticas de reemplazamiento, bsqueda


y actualizacin de segmentos


Similares a MV paginada

Polticas de emplazamiento de
segmentos

Tcnicas de ubicacin

Memoria virtual segmentada/paginada

Tcnicas de traduccin de direcciones

Tcnicas de traduccin de direcciones

Vous aimerez peut-être aussi