En el Capítulo 9 se discutieron varias estrategias de administración de memoria para permitir la multiprogramación. La memoria virtual es una técnica que permite la ejecución de procesos sin estar completamente en memoria, lo que permite programas más grandes que la memoria física, además de permitir la memoria compartida, la creación de procesos y la abstracción de la memoria lógica. Sin embargo, su implementación es compleja y puede disminuir el rendimiento si se usa descuidadamente.
Cuando hablamos de memoria "virtual", nos referimos a algo que parece real pero, en realidad, no lo es. La administración de memoria virtual implica que el sistema operativo nos da la impresión de que hay más memoria de la que hay en realidad. Esto se logra considerando el disco como una extensión de la memoria real. Es la separación de memoria lógica del usuario de la memoria física.
Algunas características son:
Un proceso debe estar en memoria para ser ejecutado, sin embargo pueden ser intercambiado (swapping) temporalmente, sacándolos de memoria y almacenarlos en disco, luego son traídos nuevamente a memoria para continuar. Esto para tener más cantidad de procesos cargados.
Desde el punta de vista de la CPU, esta manera es menos costosa ya que en lugar de realizar operaciones como la compactación, se delegar ciertas tareas a la controladora.
Swap out es el proceso de Swap out se le dice a la operación de sacar un proceso de memoria y copiarlo en disco, “se intercambia hacia afuera”, una vez que el proceso en estado de Waiting pasa a Ready, se lo vuelve a cargar en memoria. Por el contrario, Swap In es cuando volvemos llevar el proceso desde el disco a la memoria principal.
El overlay es una técnica que nos permite ejecutar un proceso sin cargarlo por completo. Solo se cargan las rutinas necesarias en el momento, y cuando se requieren otras, se descargan las que están en memoria para cargar las nuevas. El overlay elimina el requerimiento de cargar el programa completo.
Aquí también hay una ilusión de tener una memoria más grande, y esto es gracias a que se usa el disco como una extensión de memoria.