Administración de memoria
3.3 Organización de memoria virtual
Multiprogramación en memoria
virtual
La
necesidad
cada vez más imperiosa de ejecutar programas grandes y el crecimiento en poder
de las unidades centrales de procesamiento empujaron a los diseñadores de los
sistemas operativos a implantar un mecanismo para ejecutar automáticamente
programas más grandes que la memoria real disponible, esto es, de ofrecer
`memoria virtual'.
La memoria virtual se llama así porque el programador ve una cantidad de memoria mucho mayor que la real, y en realidad se trata de la suma de la memoria de almacenamiento primario y una cantidad determinada de almacenamiento secundario. El sistema operativo, en su módulo de manejo de memoria, se encarga de intercambiar programas enteros, segmentos o páginas entre la memoria real y el medio de almacenamiento secundario. Si lo que se intercambia son procesos enteros, se habla entonces de multiprogramación en memoria real, pero si lo que se intercambian son segmentos o páginas, se puede hablar de multiprogramación con memoria virtual.
La memoria virtual se llama así porque el programador ve una cantidad de memoria mucho mayor que la real, y en realidad se trata de la suma de la memoria de almacenamiento primario y una cantidad determinada de almacenamiento secundario. El sistema operativo, en su módulo de manejo de memoria, se encarga de intercambiar programas enteros, segmentos o páginas entre la memoria real y el medio de almacenamiento secundario. Si lo que se intercambia son procesos enteros, se habla entonces de multiprogramación en memoria real, pero si lo que se intercambian son segmentos o páginas, se puede hablar de multiprogramación con memoria virtual.
La
memoria virtual se apoya en varias técnicas interesantes para lograr su
objetivo. Una de las teorías más fuertes es la del `conjunto de trabajo', la
cual se refiere a que un programa o proceso no está usando todo su espacio de
direcciones en todo momento, sino que existen un conjunto de localidades
activas que conforman el `conjunto de trabajo'. Si se logra que las páginas o
segmentos que contienen al conjunto de trabajo estén siempre en RAM, entonces
el programa se desempeñará muy bien.
Otro factor importante es si los programas exhiben un fenómeno llamado
`localidad', lo cual quiere decir que algunos programas tienden a usar mucho
las instrucciones que están cercanas a la localidad de la instrucción que se
está ejecutando actualmente.
No hay comentarios:
Publicar un comentario