stringtranslate.com

Memoria extendida

La memoria extendida se encuentra por encima de 1 MB.

En la gestión de memoria de DOS , la memoria extendida se refiere a la memoria por encima del primer megabyte (2 20 bytes) de espacio de direcciones en una PC IBM o compatible con un procesador 80286 o posterior . El término se utiliza principalmente en los sistemas operativos DOS y Windows . Los programas de DOS, que se ejecutan en modo real o en modo virtual x86 , no pueden acceder directamente a esta memoria, pero pueden hacerlo a través de una interfaz de programación de aplicaciones llamada Especificación de memoria extendida (XMS). Esta API se implementa mediante un controlador (como HIMEM.SYS ) o el sistema operativo, que se encarga de la administración de la memoria y de copiar la memoria entre la memoria convencional y la extendida, cambiando temporalmente el procesador al modo protegido . En este contexto, el término "memoria extendida" puede referirse a la totalidad de la memoria extendida o solo a la parte disponible a través de esta API.

También se puede acceder directamente a la memoria extendida mediante programas de DOS que se ejecutan en modo protegido usando VCPI o DPMI , dos métodos (diferentes e incompatibles) de usar el modo protegido en DOS.

La memoria extendida no debe confundirse con la memoria expandida (EMS), un método anterior para expandir la capacidad de memoria de la PC IBM más allá de 640 kB (655,360 bytes) usando una tarjeta de expansión con módulos de memoria conmutados por banco . Debido al soporte disponible para memoria expandida en aplicaciones populares, se desarrollaron controladores de dispositivos que emulaban la memoria expandida utilizando memoria extendida. Posteriormente se desarrollaron dos métodos adicionales que permitían el acceso directo a una pequeña porción de la memoria extendida desde el modo real. Estas áreas de memoria se conocen como área de memoria alta (HMA) y área de memoria superior (UMA; también conocida como bloques de memoria superior o UMB).

Descripción general

En las PC basadas en x86 , la memoria extendida solo está disponible con un procesador Intel 80286 o superior. Sólo estos chips pueden direccionar más de 1 megabyte de RAM . Los procesadores 8086/8088 anteriores pueden utilizar más de 1 MB de RAM si se emplea hardware especial para hacer que partes seleccionables aparezcan en direcciones inferiores a 1 MB.

En una PC 286 o superior equipada con más de 640 kB de RAM, la memoria adicional generalmente se reasignaría por encima del límite de 1 MB, ya que la arquitectura de PC de IBM reserva direcciones entre 640 kB y 1 MB para la ROM del sistema y los periféricos.

No se puede acceder a la memoria extendida en modo real (excepto una pequeña porción llamada área de memoria alta ). Sólo las aplicaciones que se ejecutan en modo protegido pueden utilizar la memoria extendida directamente. Un sistema operativo supervisor en modo protegido, como Microsoft Windows, gestiona el acceso de los programas de aplicación a la memoria. El procesador hace que esta memoria esté disponible a través de la Tabla de descriptores globales (GDT) y una o más Tablas de descriptores locales (LDT). La memoria está "protegida" en el sentido de que otro programa no puede acceder a los segmentos de memoria a los que se les ha asignado un descriptor local porque ese programa utiliza una LDT diferente, y a los segmentos de memoria a los que se les ha asignado un descriptor global se les pueden restringir los derechos de acceso, lo que provoca una excepción en el procesador (p. ej. , una falla de protección general o GPF) en caso de violación. Esto evita que los programas que se ejecutan en modo protegido interfieran con la memoria de otros.

Un sistema operativo en modo protegido como Microsoft Windows también puede ejecutar programas en modo real y proporcionarles memoria ampliada . La interfaz de modo protegido de DOS (DPMI) es el método prescrito por Microsoft para que un programa de DOS acceda a la memoria extendida en un entorno multitarea .

Especificación de memoria extendida (XMS)

La Especificación de memoria extendida ( XMS ) es la especificación que describe el uso de la memoria extendida de la PC IBM en modo real para almacenar datos (pero no para ejecutar código ejecutable en ella). La memoria está disponible mediante un software de administrador de memoria extendida ( XMM ), como HIMEM.SYS . Se puede acceder a las funciones XMM a través de la función 4310h de interrupción de software 2Fh.

La versión 2.0 de XMS, lanzada en julio de 1988, permitía hasta 64 MB de memoria, con la versión 3.0 de XMS esto aumentó a 4 GB (2,32 bytes ). Para diferenciar entre la cantidad posiblemente diferente de memoria que podría estar disponible para las aplicaciones, según la versión de la especificación para la que fueron desarrolladas, esta última puede denominarse memoria superextendida ( SXMS ).

El administrador de memoria extendida también es responsable de administrar las asignaciones en el área de memoria alta (HMA) y el área de memoria superior (UMA; también conocida como bloques de memoria superior o UMB). En la práctica, el área de memoria superior la proporcionará el administrador de memoria expandida (EMM), después de lo cual DOS intentará asignarlas todas y administrarlas él mismo.

Ver también

Referencias

Especificaciones
Base de conocimientos de Microsoft

enlaces externos