Extensiones de ventanas de dirección

Address Windowing Extensions (AWE) es una interfaz de programación en la familia de sistemas operativos Microsoft Windows que permite que una aplicación de 32 bits acceda a una RAM que es más grande que el espacio de direcciones virtuales disponible para la aplicación (2-3 [1] gigabytes). El proceso de asignación de memoria adicional al espacio de direcciones de una aplicación mediante AWE se denomina "ventana" (ventana de acceso) y es similar al concepto de " superposición " que se utiliza, por ejemplo, en DOS . AWE es adecuado para aplicaciones que procesan grandes cantidades de datos, como DBMS , aplicaciones científicas y de ingeniería.

Una aplicación asigna una región de memoria, llamada ventana ( window ), en un espacio de direcciones virtuales y solicita, a través de una interfaz, la asignación de una o más regiones de memoria física. Posteriormente, la interfaz permite que la aplicación asigne cualquier región asignada de memoria física a una ventana en el espacio de direcciones. Se pueden crear varias ventanas para que el tamaño total de las ventanas no supere el tamaño del espacio de direcciones virtuales disponible. Los tamaños de las ventanas y las regiones de la memoria física pueden ser arbitrarios (un múltiplo del tamaño de una página de memoria, 4096 bytes), pero cualquiera de las ventanas se puede asignar a una región de la memoria física que no exceda el tamaño de la ventana.

El uso de AWE debe estar integrado en el código de la aplicación. Además, la aplicación debe tener los derechos "Bloquear páginas en la memoria" (bloquear la descarga de un fragmento de memoria) para usar AWE.

AWE no depende ni excluye el uso de la extensión de dirección física [2] .

En un artículo de 2004 publicado en Dr. Dobb's Journal señaló que la memoria asignada con Address Windowing Extensions no era intercambiable y sugirió que las regiones de memoria AWE podrían usarse para proteger datos como claves de cifrado. [3]

Un parche especial también puede ser un posible ejemplo: para aplicaciones de 32 bits en Windows, puede usar un parche especial que elimina el límite de 2 GB de RAM sin tener que volver a compilarlo. Aplicable para aplicaciones de 32 bits en un entorno Windows de 64 bits con un propósito similar. Esto se necesita principalmente para aumentar el espacio de direcciones de las aplicaciones de 32 bits, ya que están limitadas a los 2 GB por proceso mencionados anteriormente [4] . Pero también vale la pena señalar que este método no siempre funciona y la aplicación puede dejar de iniciarse. Y en algunos casos, una aplicación parcheada de esta manera puede aumentar su rendimiento, por ejemplo, la velocidad de lanzamiento de un nivel en algunos juegos.

Véase también

Notas

  1. Límites de memoria para versiones de Windows  (inglés)  (enlace no disponible) . MSDN (5 de mayo de 2012). Consultado el 7 de junio de 2012. Archivado desde el original el 12 de agosto de 2012.
  2. Extensión de dirección física (enlace no disponible) . Microsoft (6 de noviembre de 2008). Consultado el 13 de diciembre de 2008. Archivado desde el original el 12 de agosto de 2012. 
  3. Coombs, Jason Proteger los secretos de RAM con extensiones de ventana de direcciones (enlace no disponible) . Dr. Diario de Dobb (18 de octubre de 2004). Consultado el 8 de diciembre de 2007. Archivado desde el original el 12 de agosto de 2012. 
  4. Rompiendo los límites de Windows: memoria virtual  (inglés) , Mark Russinovich en ruso . Archivado desde el original el 30 de noviembre de 2018. Consultado el 29 de noviembre de 2018.

Enlaces