Articulo de referencia

Mapa de memoria

En informática , un mapa de memoria es una estructura de datos (que generalmente reside en la propia memoria) que indica cómo está organizada la memoria . El término "mapa de me...

En informática , un mapa de memoria es una estructura de datos (que generalmente reside en la propia memoria) que indica cómo está organizada la memoria . El término "mapa de memoria" tiene diferentes significados según el contexto.

  1. Es la organización de caché más rápida y flexible que utiliza memoria asociativa . La memoria asociativa almacena tanto la dirección como el contenido de la palabra de memoria.
  2. En el proceso de arranque de algunos ordenadores, el firmware puede transmitir un mapa de memoria para indicar al núcleo del sistema operativo la distribución de la memoria. Este mapa contiene información sobre el tamaño total de la memoria, las regiones reservadas y otros detalles específicos de la arquitectura.
  3. En las implementaciones de memoria virtual y las unidades de gestión de memoria , un mapa de memoria hace referencia a tablas de páginas o registros de hardware , que almacenan la correspondencia entre la disposición de la memoria virtual de un proceso determinado y cómo ese espacio se relaciona con las direcciones de memoria física.
  4. En los programas de depuración nativos , un mapa de memoria se refiere a la correspondencia entre los archivos ejecutables (o de biblioteca) cargados y las regiones de memoria. Estos mapas de memoria se utilizan para resolver direcciones de memoria (como punteros a funciones ) y convertirlas en símbolos reales.

Mapa de memoria de la BIOS del PC

La BIOS para el ordenador personal IBM y compatibles proporciona un conjunto de rutinas que pueden ser utilizadas por el sistema operativo o las aplicaciones para obtener la distribución de la memoria. Algunas de las rutinas disponibles son:

Función BIOS: INT 0x15, AX=0xE801: [ 1 ]

Esta llamada de interrupción de la BIOS se utiliza para obtener el tamaño de la memoria para configuraciones de 64 MB o más. Es compatible con las BIOS de AMI con fecha del 23 de agosto de 1994 o posterior. El llamador establece AX en 0xE801 y luego ejecuta la interrupción 0x15. Si se ha producido algún error, la rutina regresa con CF (Carry Flag) establecido en 1. Si no hay error, la rutina regresa con CF desactivado y el estado de los registros se describe de la siguiente manera:

Función BIOS: INT 0x15, AX=0xE820 - OBTENER MAPA DE MEMORIA DEL SISTEMA: [ 2 ]

Aporte:

Estructura del búfer SMAP:

Modo de uso: El sistema operativo asignará un búfer SMAP en memoria (búfer de 20 bytes). A continuación, configurará los registros según lo especificado en la tabla "Entrada". En la primera llamada, EBX se establecerá en 0. El siguiente paso es llamar a INT 0x15. Si no hay errores, la llamada de interrupción devuelve CF borrado y el búfer se llena con los datos que representan la primera región del mapa de memoria. La BIOS actualiza EBX para que, cuando el sistema operativo vuelva a llamar a la rutina, se devuelva la siguiente región en el búfer. La BIOS establece EBX en cero cuando todo haya terminado.

Véase también

  • BIOS
  • RAMMap por Mark Russinovich

Referencias

  1. "INT 15 - Phoenix BIOS v4.0 - OBTENER EL TAMAÑO DE LA MEMORIA PARA CONFIGURACIONES >64M" .
  2. "INT 15 - BIOS más recientes - OBTENER MAPA DE MEMORIA DEL SISTEMA" .