domingo, 2 de noviembre de 2014

Tema 2.2: Bloques funcionales de un PC - Memoria virtual

Comparación entre la memoria física y la memoria virtual.

La memoria virtual es una técnica de gestión de la memoria que permite que el sistema operativo disponga de mayor cantidad de memoria que esté disponible físicamente. La mayoría de los ordenadores tienen cuatro tipos de memoria: registros en la CPU, la memoria caché, la memoria RAM y el disco duro.
Muchas aplicaciones requieren acceso a más información (código y datos) que la que se puede mantener en memoria física. Esto es así sobre todo cuando el sistema operativo permite múltiples procesos y aplicaciones ejecutándose simultáneamente. Una solución al problema de necesitar mayor cantidad de memoria de la que se posee consiste en que las aplicaciones mantengan parte de su información en disco, moviéndola a la memoria principal cuando sea necesario.
La mejor solución es usar memoria virtual, donde la combinación entre hardware especial y el sistema operativo hace uso de la memoria principal y la secundaria para hacer parecer que el ordenador tiene mucha más memoria principal (RAM) que la que realmente posee. Este método es invisible a los procesos. La cantidad de memoria máxima que se puede hacer ver que hay tiene que ver con las características del procesador.
Aunque la memoria virtual podría estar implementada por el software del sistema operativo, en la práctica casi siempre se usa una combinación de hardware y software, dado el esfuerzo extra que implicaría para el procesador.


Operación básica.
Cuando se usa memoria virtual una parte del hardware dentro de la computadora traduce las direcciones de memoria generadas por el software (direcciones virtuales) en:
  • La dirección real de memoria: La referencia a la memoria es completada, como si la memoria virtual no hubiera estado involucrada: el software accede donde debía y sigue ejecutando normalmente.
  • Una indicación de que la dirección de memoria deseada no se encuentra en memoria principal: El sistema operativo es invocado para manejar la situación y permitir que el programa siga ejecutando o aborte según sea el caso.
La memoria irreal es una técnica para proporcionar la simulación de un espacio de memoria mucho mayor que la memoria física de una máquina. Esta "ilusión" permite que los programas se ejecuten sin tener en cuenta el tamaño exacto de la memoria física. Esta ilusión de la memoria virtual está soportada por el mecanismo de traducción de memoria, junto con una gran cantidad de almacenamiento rápido en disco duro. Así en cualquier momento el espacio de direcciones virtual hace un seguimiento de tal forma que una pequeña parte de él, está en memoria física y el resto almacenado en el disco, y puede ser referenciado fácilmente.


La memoria virtual ha llegado a ser un componente esencial de la mayoría de los sistemas operativos actuales ya que se pueden mantener más procesos en la memoria. Es más, se ahorra tiempo, porque los fragmentos que no se usan no se cargan ni se descargan de la memoria. Sin embargo, el sistema operativo debe saber cómo gestionar este esquema.
Funcionamiento de la memoria virtual.



No hay comentarios:

Publicar un comentario