7. MEMORIA VIRTUAL
DEFINICIÓN
La memoria virtual es una funcionalidad que proporciona el sistema operativo cuyo objetivo es conseguir que el proceso disponga del mayor espacio de memoria que pueda disponer (en los computadores actuales de 32 bits es 4 Gb, 232) aunque no se disponga de esa capacidad real de almacenamiento.
FUNCIONAMIENTO
La mayoría de computadores tienen distintos tipos de memoria que forman lo que se denomina jerarquía de memoria. En el caso de la memoria virtual influyen únicamente los dos últimos niveles:
Memoria RAM o principal: con una relación velocidad/coste ajustada (en torno a 1 Gb)
Discos duros: con gran capacidad de almacenamiento pero muy lentos (varios Gb)
La memoria virtual crea un espacio de direcciones ficticio.
El procedimiento es sencillo:
APLICACIONES
La traducción de direcciones proporciona multitud de variantes que proporcionan la mayoría de los sistemas operativos con memoria virtual:
Reducción del espacio necesario para cargar el ejecutable: si se lanzan varias copias del mismo código, todas referencian la misma ubicación en el disco duro para el código reducciendo el número de copias a realizar.
Uso de bibliotecas dinámicas compartidas: todos los procesos que utilicen la misma biblioteca dinámica compartirán su código evitando copias innecesarias
Mejor gestión de los recursos: en memoria principal únicamente estarán las regiones de códigos y/o datos que realmente se estén empleando, reduciendo su ocupación con código o datos innecesarios