¿Que es la memoria virtual?

Viendo que cada día son mas los lectores de este blog me animo a seguir añadiendo información auqnue sea a base de recopilarla por internet, y uno de los sitios que mas información proporciona sin duda es la Wikipedia y esta vez de nuevo hecho mano de sus archivos.

Os dejo un adelanto y como de costumbre al final el enlace a la fuente orginal en el que podreis encontrar mas información.

MEMORIA VIRTUAL
La Memoria virtual es un concepto que permite al software usar más memoria principal (RAM) que la que realmente posee el computador. La mayoría de los computadores tienen cuatro tipos de memoria: registros en la CPU, la memoria cache (tanto dentro como fuera del CPU), la memoria física (generalmente en forma de RAM, donde la CPU puede escribir y leer directamente y razonablemente rápido) y el disco duro que es mucho más lento, pero también más grande y barato.

Muchas aplicaciones requieren el acceso a más información (código y datos) que la que puede ser mantenida en memoria física. Esto es especialmente cierto cuando el sistema operativo permite múltiples procesos y aplicaciones corriendo 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. Hay varias formas de hacer esto. Una opción es que la aplicación misma sea responsable de decidir qué información será guardada en cada sitio (segmentación), y de traerla y llevarla. La desventaja de esto, además de la dificultad en el diseño e implementación de cada programa, es que es muy probable que los intereses sobre la memoria de dos o varios programas generen conflictos entre sí: cada programador podría realizar su diseño tomando en cuenta que es el único programa corriendo en el sistema. La alternativa 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 la computadora 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 existe tiene que ver con las características del procesador. Por ejemplo, en un sistema de 32 bits, el máximo es 232, lo que da aproximadamente 4000 Megabytes (4 Gigabytes). Todo esto hace el trabajo del programador de aplicaciones mucho más fácil, al poder ignorar completamente la necesidad de mover datos entre los distintos espacios de memoria.

Aunque la memoria virtual podría ser implementada por software del sistema operativo, en la práctica casi universalmente se usa una combinación de hardware y software, dado el esfuerzo extra que implicaría ello para el procesador.

Para mas información:
Enlace a la fuente original (Wikipedia)

Un saludo.

Sin categoría

Deja una respuesta