¿Qué es la memoria virtual ?
La memoria virtual es una técnica que permite ejecutar procesos que no caben totalmente en memoria RAM (memoria física). Esto propicia la creación de programas que sean más grandes que la memoria física.
Además, la memoria virtual ayuda a crear un esquema de abstracción de la memoria que la separa de la zona lógica que el usuario ve, esto facilita enormemente la tarea a los programadores puesto que no se han de preocupar por limitaciones de memoria.
sábado, 21 de agosto de 2010
Estructura de la memoria virtual
Desde las primeras computadoras, la estructura lógica ha sido la siguiente:
• Memoria base: desde 0 hasta 640 Kb (Kilobytes), es en esta zona dónde se almacena la mayoría de los programas que el usuario utiliza.
• Memoria superior y reservada: de 640 a 1.024 Mb (Megabytes), carga unas estructuras llamadas páginas de intercambio de información y unos bloques de memoria llamados UMB.
• Bloques UMB (Upper Memory Blocks): se trata de espacios asignados para el sistema dentro de la memoria superior, pero debido a la configuración de diversos dispositivos como el video, en algunos casos estos espacios quedaban sin utilizar, por lo que se comenzó a
• Memoria expandida: se trata de memoria paginada que se asigna a programas en memoria superior, la cuál algunas veces no se utilizaba debido a la configuración del equipo y con este método se puede utilizar.
• Memoria extendida: de 1.024 Mb hasta 2 Gb (Gigabytes), se cargan todas las aplicaciones que no caben en la memoria base.
Antes debido a que los equipos contaban con memoria RAM limitada, existían utilerías que reacomodaban los programas cargados en memoria para optimizar su funcionamiento, inclusive el sistema operativo Microsoft® Ms-DOS necesitaba de un controlador especial (himem.sys), para reconocer la memoria extendida, sin él solo reconocía 640 Kb aunque hubiera instalados 16 ó 32 Mb.
Desde las primeras computadoras, la estructura lógica ha sido la siguiente:
• Memoria base: desde 0 hasta 640 Kb (Kilobytes), es en esta zona dónde se almacena la mayoría de los programas que el usuario utiliza.
• Memoria superior y reservada: de 640 a 1.024 Mb (Megabytes), carga unas estructuras llamadas páginas de intercambio de información y unos bloques de memoria llamados UMB.
• Bloques UMB (Upper Memory Blocks): se trata de espacios asignados para el sistema dentro de la memoria superior, pero debido a la configuración de diversos dispositivos como el video, en algunos casos estos espacios quedaban sin utilizar, por lo que se comenzó a
• Memoria expandida: se trata de memoria paginada que se asigna a programas en memoria superior, la cuál algunas veces no se utilizaba debido a la configuración del equipo y con este método se puede utilizar.
• Memoria extendida: de 1.024 Mb hasta 2 Gb (Gigabytes), se cargan todas las aplicaciones que no caben en la memoria base.
Antes debido a que los equipos contaban con memoria RAM limitada, existían utilerías que reacomodaban los programas cargados en memoria para optimizar su funcionamiento, inclusive el sistema operativo Microsoft® Ms-DOS necesitaba de un controlador especial (himem.sys), para reconocer la memoria extendida, sin él solo reconocía 640 Kb aunque hubiera instalados 16 ó 32 Mb.
Políticas de ubicación
Para un sistema que usa tanto paginación pura como paginación combinada con segmentación, la ubicación carece de importancia puesto que el hardware de traducción de direcciones y el hardware de acceso a la memoria principal pueden desarrollar sus funciones en cualquier combinación de marco de página con idéntica eficiencia.
Como posibles alternativas se tiene:
Ø Políticas del mejor ajuste.
Ø Políticas del primer ajuste
Políticas de escritura
– La estrategia de escritura es siempre la post-escritura (write back) debido a la gran diferencia que existe entre los tiempos de acceso en uno y otro nivel.
– Los sistemas de memoria virtual incluyen un bit de modificado o sucio (dirty) para que sólo los bloques que han sido alterados desde que se cargaron sean escritos en la memoria secundaria.
Las escrituras individuales se realizan en la página que hay en la memoria principal y se copia la página a memoria secundaria cuando ésta se reemplaza.
Funciones
Cuando se usa Memoria Virtual, o cuando una dirección es leída o escrita por la CPU, 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 dirección de memoria física), o
• una indicación de que la dirección de memoria deseada no se encuentra en memoria principal (llamado excepción de memoria virtual)
En el primer caso, 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. En el segundo caso, 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 virtual 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.
Cuando se usa Memoria Virtual, o cuando una dirección es leída o escrita por la CPU, 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 dirección de memoria física), o
• una indicación de que la dirección de memoria deseada no se encuentra en memoria principal (llamado excepción de memoria virtual)
En el primer caso, 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. En el segundo caso, 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 virtual 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.
Suscribirse a:
Entradas (Atom)