Área de memoria superior

Área de memoria superior
El área de memoria superior (UMA) ocupa 384 KB y va desde los 640 KB hasta 1 MB.

El Upper Memory Area (UMA) o área de memoria superior es una característica de diseño de los computadores compatibles con el IBM PC de arquitectura x86. Esta es la característica que crea la barrera de los 640K.

La IBM reservó la región más alta del mapa de memoria del PC para la memoria ROM del BIOS (8 KB en una dirección justo abajo del megabyte), además, memoria RAM para los periféricos como las tarjetas de video CGA y MDA, otros ROM del sistema, y entrada/salida (I/O) mapeada en memoria. En el caso de los computadores fabricados por IBM, también había un interpretador BASIC, escrito por Microsoft que ocupaba 40 KB por debajo del BIOS.

Esta región se llama UMA, ocupa 384 KB y descansa sobre la memoria convencional, entre los 640 KB y 1 MB, máximo límite direccionable del CPU 8088 del PC original. Por ejemplo, el área de memoria de video monocromática va desde las dirección B000 a la B7FF. Sin embargo, incluso con la RAM de video, el ROM BIOS y los puertos de I/O para las tarjetas de expansión, muchos de estos 384 KB del espacio de dirección no era usado, incluso cuando una ventana de 64 KB fue reservada para el "marco" de direcciones de la especificación de memoria expandida en la cual el RAM EMS tenía los bancos conmutados. Por ejemplo, en la mayoría de los PC, toda la o la mayor parte del área desde C800 a EFFF está normalmente sin uso.

Contenido

Uso en sistemas operativos del PC

La siguiente etapa en la evolución del DOS estuvo en el sistema operativo en sí mismo al hacerlo consciente de los bloques de memoria superior (UMB) y del área de memoria alta. Esto ocurrió con el lanzamiento de DR-DOS 5.0 en 1990. El manejador de memoria incorporado en el DR-DOS, el EMM386.EXE, podía realizar la mayor parte de la funcionalidad básica del QEMM y programas comparables.

Donde el DR-DOS hizo puntos sobre la combinación de un más viejo DOS junto con el QEMM fue que el núcleo (kernel) en sí mismo del DR-DOS y casi todas sus estructuras de datos se podían cargar en memoria alta, más todos sus componentes asociados en UMBs. Esto dejó virtualmente libre toda la memoria baja, permitiendo configuraciones con hasta 620K libres de los 640K de la memoria convencional.

La configuración no era automática - UMBs libres tenían que ser identificados a mano, incluidos manualmente en la línea que cargaba el EMM386 en el CONFIG.SYS, y entonces los drivers, etc, tenían que ser cargados manualmente en UMBs desde el CONFIG.SYS y el AUTOEXEC.BAT. Esta configuración no era un proceso trivial. Mientras fue automatizada en gran parte por el programa de la instalación del QEMM, este programa sobrevivió en el mercado. de hecho, trabajó bien con el propio soporte del HMA y UMB del DR-DOS y continuó siendo una de las utilidades mejor vendidas para el PC.

Esta funcionalidad fue copiada por Microsoft con el lanzamiento del MS-DOS 5.0 en junio de 1991. Eventualmente, aún más estructuras de datos del DOS fueron sacadas de la memoria convencional, permitiendo hasta 631K libres en ella.

Por un período a principios de los años 1990, la optimización manual del mapa de memoria del DOS se convirtió en una habilidad altamente estimada, permitiendo que las aplicaciones más grandes corrieran incluso en las configuraciones más complejas del PC. La técnica era crear primero tantos UMBs como fuera posible, incluyendo el remapeo de bloques de memoria asignados pero no necesarios, como el área de la pantalla monocromática en las máquinas con tarjetas de video a color. Entonces, muchos subcomponentes del DOS tenían que ser cargados en estos UMBs en justo la secuencia correcta para usar los bloques de memoria tan eficientemente como fuera posible, teniendo en cuenta el hecho de que algunos programas TSR requerían memoria adicional mientras se cargaban que era liberada una vez que la carga estaba completa. Afortunadamente había pocas dependencias entre estos módulos, así que era posible cargarlos en casi cualquier secuencia. Las excepciones eran tener con éxito el cache de los CD-ROMs, la mayoría de los cache de disco tenían que ser cargados después de cualquier driver de CD-ROMs, y los módulos de la mayoría de los stack de redes tenían que ser cargados en cierta secuencia, esencialmente trabajando progresivamente a través de las capas del modelo OSI.

Con la adición de un manejador de multitarea de DOS como el DESQview de Quarterdeck, múltiples sesiones podían ser arrancadas al mismo tiempo, cada una con 600 K de memoria libre y todas compartiendo el acceso al DOS y sus drivers y facilidades asociados.

La creciente popularidad de Windows 3.0 hizo esto menos relevante, dado que las aplicaciones de Windows no eran afectadas por los límites de la memoria base del DOS, pero los programas de DOS corriendo bajo Windows (con Windows en sí mismo actuando como un manejador multitarea) todavía tenían ese inconveniente. Con el lanzamiento de Windows 95, todavía se convirtió en menos relevante, porque esta versión de Windows proporcionaba mucha de la funcionalidad de los drivers de dispositivo del DOS a las aplicaciones de DOS corriendo bajo Windows, como por ejemplo, soporte de CD, red y sonido. El mapa de memoria del DOSBox de Win95 fue automáticamente optimizado. Sin embargo, no todos los programas de DOS podían ejecutarse en este ambiente. Específicamente, los programas que intentaban cambiar directamente de modo real a modo protegido, no trabajarían puesto que esto no era permitido en el modo virtual del 8086 en el que estaban corriendo (de hecho, este punto está siendo ahora tratado por tecnologías de virtualización para los CPU x86 a punto venir (2006), como Vanderpool y Pacífica). Tampoco trabajaban en Windows 95, programas que trataban de hacer el cambio usando el API VCPI (que fue introducido para permitir a los programas DOS que necesitaran modo protegido entrar a éste desde el modo virtual 8086 puesto en marcha por un manejador de memoria, según lo descrito arriba). Para cambiar al modo protegido solamente fue soportado el API DPMI.

Memoria superior y la RAM de sombra

En muchos sistemas incluyendo los modernos, es posible usar la memoria reservada para la sombra de la ROM de tarjetas de expansión como memoria superior. Muchos chipsets reservan hasta 384K de RAM para este propósito, y puesto que este RAM generalmente está sin uso, puede ser usado como memoria superior de modo real con un driver de dispositivo específico para ello.

Memoria superior en el IBM XT

En los computadores IBM XT era posible agregar más memoria a la tarjeta madre y usar un PROM decodificador de direcciones a la medida para hacer que aparezca en el área de memoria superior [1]. Como con la memoria superior basada en el 386 descrita arriba, el RAM adicional podía ser usado para cargar archivos de TSR, o como disco RAM.

Sistemas de PC x86 que no tenían el UMA

La existencia del Upper Memory Area y la barrera de los 640 KB eran artefactos, características propias, del diseño del IBM PC y por lo tanto de cualquier computadora compatible con éste, en otras palabras, todos los sistemas compatibles del IBM PC. Sin embargo, ha habido muchas otras computadoras basadas en Intel u otros procesadores x86 que no eran compatibles con el PC y no tenían así un Upper Memory Area y ninguna barrera de los 640 KB.

Véase también


Wikimedia foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Mira otros diccionarios:

  • Área de memoria alta — El área de memoria alta (HMA), son los primeros 64 KB 16 bytes de la memoria extendida, justo por arriba de 1 MB. El área de memoria alta o High Memory Area (HMA) es el área del RAM que consiste en los primeros 64 kilobytes (KB), menos 16 bytes… …   Wikipedia Español

  • Memoria convencional — La memoria convencional son los primeros 640 KB. En los primeros computadores IBM PC y compatibles, era la porción de memoria disponible para los programas en MS DOS. Arriba de ella estaba el UMA, originalmente reservada para dispositivos de… …   Wikipedia Español

  • Memoria expandida — Páginas o bancos de memoria expandida dentro del espacio de memoria superior (UMA). La memoria expandida fue un método desarrollado alrededor de 1984 que proporcionaba memoria paginada extra a los programas de MS DOS. Éstos programas, que corrían …   Wikipedia Español

  • Memoria extendida — La memoria extendida está por arriba de 1 MB, por arriba de la memoria convencional y el UMA. En un IBM PC o compatible con un microprocesador 80286 o posterior, la memoria extendida se refiere a la memoria por arriba del primer megabyte de… …   Wikipedia Español

  • Memoria de acceso aleatorio — Para otros usos de este término, véase RAM (desambiguación). DIMM normal y corriente de memoria RAM tipo DDR3 de 240 contactos. La memoria de acceso aleatorio (en inglés: random access memory, cuyo acrónimo es RAM) es la memoria desde donde el …   Wikipedia Español

  • Especificación de memoria extendida — La especificación de memoria extendida o XMS es la especificación que describe el uso de la memoria extendida para almacenar datos, (pero no código ejecutable), en el modo real del IBM PC y compatibles. La memoria se hace disponible mediante… …   Wikipedia Español

  • Memoria ecoica — La memoria ecoica es uno de los registros de la memoria sensorial. Concretamente, se trata de un componente de la memoria a corto plazo encargado de retener información auditiva. Este sistema es capaz de almacenar grandes cantidades de… …   Wikipedia Español

  • Memoria semántica — El término memoria semántica hace referencia a la memoria de significados, entendimientos y otros conocimientos conceptuales que no están relacionados con experiencias concretas. Se considera que la recolección consciente de información sobre… …   Wikipedia Español

  • Memoria declarativa — La memoria declarativa (en ocasiones, y de una forma más general, conocida como memoria explícita) es uno de los dos tipos de memoria a largo plazo en los seres humanos. Hace referencia a todos aquellos recuerdos que pueden ser evocados de forma… …   Wikipedia Español

  • Memoria de título — En educación, una memoria de título es un trabajo de investigación efectuado por un estudiante, generalmente intercedido por un profesor o tutor, para la obtención de un grado académico de educación superior. El objetivo de la memoria de título,… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”