Está en la página 1de 30

Memoria virtual en el SO

Paginacin
Marcos de pagina
MMU
Tablas de pagina
Memoria Virtual

La memoria virtual, es una tcnica de administracin de la


memoria real que permite al sistema operativo brindarle al
software de usuario y a s mismo un espacio de direcciones
mayor que la memoria real o fsica.
Memoria Virtual

Muchas aplicaciones requieren acceso a ms informacin


(cdigo y datos) que la que se puede mantener en memoria
fsica. Esto es as sobre todo cuando el sistema operativo
permite mltiples procesos y aplicaciones ejecutndose
simultneamente.
Memoria Virtual

Una solucin al problema de necesitar mayor cantidad de


memoria de la que se posee consiste en que las
aplicaciones mantengan parte de su informacin en disco,
movindola a la memoria principal cuando sea necesario.
Memoria Virtual

Hay varias formas de hacer esto. Una opcin es que la


aplicacin misma sea responsable de decidir qu
informacin ser guardada en cada sitio (segmentacin), y
de traerla y llevarla. La desventaja de esto, adems de la
dificultad en el diseo e implementacin del programa, es
que es muy probable que los intereses sobre la memoria de
dos o varios programas generen conflictos entre s: cada
programador podra realizar su diseo teniendo en cuenta
que es el nico programa ejecutndose en el sistema.
Memoria Virtual

La alternativa es usar memoria virtual, donde la combinacin


entre hardware especial y el sistema operativo hace uso de la
memoria principal y la secundaria para hacer parecer que el
ordenador tiene mucha ms memoria principal (RAM) que la que
realmente posee. Este mtodo es invisible a los procesos. La
cantidad de memoria mxima que se puede hacer ver que hay
tiene que ver con las caractersticas del procesador
Memoria Virtual

Aunque la memoria virtual podra estar implementada por el


software del sistema operativo, en la prctica casi siempre se usa
una combinacin de hardware y software, dado el esfuerzo extra
que implicara para el procesador.
MMU

Que es la MMU?

El hardware de un ordenador que es responsable de


gestionar la memoria del sistema se llama MMU (Unidad de
Gestin de Memoria).

Para que sirve?

Este componente sirve como una especie de cach entre la


CPU y el sistema de memoria.
FUNCIONES DE LA MMU

Gestin de la memoria hardware


Gestion la del sistema operativo
y la de aplicacin
MMU

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.
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.
MMU

Por norma general, el hardware asociado con la unidad de gestin


de memoria incluye la memoria RAM y otros cachs de memoria. La
RAM es un componente fsico de almacenamiento que se localiza en
el disco duro, y es la zona de almacenamiento principal donde los
datos son ledos y escritos. La memoria de cach se usa para guardar
copias de ciertos datos de la memoria principal.
MMU

La CPU accede a esta informacin que se encuentra en la memoria


de cach, lo cual acelera el todo el proceso. Cuando la memoria
fsica se queda sin espacio, el ordenador automticamente usa
memoria virtual del disco duro para hacer funcionar el programa
solicitado.
MMU

La MMU asigna memoria del sistema operativo a varias aplicaciones.


En la unidad de procesamiento central se encuentra el rea de
direccionamiento virtual, la cual est compuesta de un rango de
direcciones que se dividen en pginas. Las pginas son bloques
secundarios que son iguales en tamao. El proceso de paginacin
automtica permite que el sistema operativo use espacio de
almacenamiento repartido en el disco duro.
MMU

En lugar de que el usuario reciba un mensaje de error de que no


tiene suficiente memoria, la MMU le dice automticamente al
sistema crear suficiente memoria virtual para ejecutar la aplicacin.
Un continuo espacio virtual es creado de una fuente de bloques
virtuales iguales de tamao para que la aplicacin est en marcha.
MMU
La MMU suele asignar el direccionamiento de memoria que se
necesita para cada aplicacin. Es ms simple asignar la misma
direccin para todos los programas. Aparte de esto, la MMU puede
distribuir los recursos de memoria segn las necesidades del
momento. Cuando la operacin es completada, la memoria es
reciclada para ser usada en otro sitio.

La MMU es la responsable de mapear las direcciones logicas a


direcciones fsicas.
MMU

Uno de los mayores desafos para el sistema de MMU es saber


cuando no se necesitan los datos y se puede descartar. Esto libera
memoria para usar en otros procesos. El manejo de memoria manual
y automtico se ha convertido en un campo de estudio separado
debido a esto. Una mala gestin de memoria es un problema grande
cuando se trata de mejorar el rendimiento de sistemas de
ordenadores.
Paginacin

Es una tcnica de manejo de memoria, en la cual el espacio de


memoria se divide en secciones fsicas de mismo tamao, las
cuales son denominadas marcos de pagina.
Los programas se dividen en unidades lgicas, denominadas
paginas.

Las paginas sirven como unidad de almacenamiento de


informacin y de transferencia entre memoria principal y
memoria auxiliar o secundaria. Cada marco se identifica por la
direccin de marco, que esta en la posicin fsica de la primera
palabra en el marco de pagina.
Paginacin

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. Estas direcciones generadas por
los programas se llaman direcciones virtuales y conforman el
hueco de direcciones virtuales.
Paginacin

Caractersticas
El espacio de direcciones lgico de un proceso puede ser no contiguo.
Se divide la memoria fsica en bloques de tamao fijo llamados
marcos(frames).
Se divide la memoria en bloques de tamao llamados paginas.
Se mantiene informacin en los marcos libres.
Para correr un programa de n paginas de tamao, se necesitan
encontrar n marcos y cargar el programa
Se establece una tabla de pginas para trasladar las direcciones lgicas
a fsicas.
Se produce fragmentacin interna.
Marcos de pgina

El espacio de memoria se divide en secciones fsicas de igual


tamao, denominadas marcos de pgina.
Registros en la CPU
La memoria cach (tanto dentro como fuera del CPU)
la memoria fsica (generalmente en forma de RAM,
donde la CPU puede escribir y leer directa y
razonablemente rpido)
el disco duro.
Tablas de pgina

Cada Pgina Tiene Un Nmero Que Se Utiliza Como ndice En La


Tabla De Pginas, Lo Que Da Por Resultado El Nmero Del
Marco Correspondiente A Esa Pgina Virtual. Si El Bit Presente
Ausente Es 0, Se Provoca Un Sealamiento (Trap) Hacia El
Sistema Operativo. Si El Bit Es 1, El Nmero De Marco Que
Aparece En La Tabla De Pginas Se Copia En Los Bits De Mayor
Orden Del Registro De Salida.
Tablas de pgina

Finalidad de las tablas

El nmero de pgina virtual sirve como ndice para consultar la


tabla de pginas y encontrar la entrada correspondiente a esa
pgina virtual. En esa entrada se encuentra el nmero de marco
de pgina, si lo hay, y este nmero se anexa al extremo de orden
alto de la distancia, sustituyendo al nmero de pgina virtual y
formando una direccin fsica que se puede enviar a la memoria.
Tablas de pgina

El nmero de pgina virtual sirve como ndice para consultar la


tabla de pginas y encontrar la entrada correspondiente a esa
pgina virtual. En esa entrada se encuentra el nmero de marco
de pgina, si lo hay, y este nmero se anexa al extremo de orden
alto de la distancia, sustituyendo al nmero de pgina virtual y
formando una direccin fsica que se puede enviar a la memoria.
Tablas de pgina
Pginas

El espacio de direcciones virtual se divide en unidades llamadas


pginas, que tienen el mismo tamao de los marcos de pagina.

De esta forma se puede cargar una pgina de informacin en


cualquier marco de pgina.

Las paginas sirven como unidad de almacenamiento de


informacin y transferencia entre memoria principal y
memoria secundaria
Tablas de pgina
Tabla de pagina y MMU
Web grafia

https://w3.ual.es/~acorral/DSO/Tema_3.pdf
GRACIAS POR
SU
ATENCIN!