lunes, 28 de mayo de 2012

6 Memoria virtual

La memoria virtual es el mecanismo más general para la ejecución de programas no 
enteros en memoria. Se basa en un sistema de paginación (o combinado) en el que 
sólo un subconjunto de las páginas del programa están cargadas en memoria. El 
resto reside en un dispositivo de almacenamiento secundario, análogamente al de 
swap7
. La memoria virtual presenta, adicionalmente a su  capacidad para ejecutar 
programas mayores que la memoria física disponible, un conjunto de interesantes 
ventajas con respecto a la paginación con programas enteros: 
• Reduce la latencia en la ejecución de los programas, al no tener éstos que 
cargarse completamente para comenzar a ejecutarse. 
• Permite gestionar más eficientemente la memoria física. Cualquier espacio 
libre, incluso una única página, puede ser aprovechado para cargar un nuevo 
programa y comenzar a ejecutarlo. Por otra parte, si una página de un 
programa no se referencia durante la ejecución, no habrá que cargarla. 
• Al aumentar el grado de multiprogramación a costa de reducir el número de 
páginas cargadas de cada programa, permite incrementar la eficiencia de la 
CPU en sistemas multiprogramados
8
• Ahora la independencia de los programas con respecto a la máquina es 
completa. Además del direccionamiento virtual que aporta la paginación, la 
cantidad de memoria física disponible para ejecutar el programa sólo es 
relevante para la velocidad de ejecución del programa.  

No hay comentarios:

Publicar un comentario