extension de direcciones fisicas - pae

5
Sistemas operativos para redes 1 La Extensión de direcciones físicas (Physical Address Extension - PAE), es una característica de los procesadores X86 que permite a los sistemas de 32 bit utilizar hasta 64 GB de memoria física, siempre y cuando el sistema operativo tenga el soporte adecuado. PAE permite al software que utiliza el conjunto de API Address Windowing Extensions (AWE) en un equipo con un procesador Intel Pentium Pro o posterior, y más de 4 gigabytes (GB) de memoria física RAM, asignar más memoria física en el espacio de direcciones virtuales de la aplicación, mientras que en los sistemas Unix se utilizan diferentes trucos, como maps() para mapear regiones de un archivo en un espacio de direcciones cuando se necesita sin tener definido un estándar. El mecanismo PAE permite al gestor de memoria mejorar el rendimiento sobre el uso de memoria. Para identificar los procesadores con la habilidad de soportar PAE existe una bandera llamada CPUID PAE. En las versiones de Windows XP SP2 y posteriores el modo PAE se ejecuta de manera predeterminada en todos los sistemas con soporte NX; el Bit NX es una característica adicional del PAE presentada por AMD, este Bit NX funciona como una bandera (Flag) para indicar que la página no es ejecutable En los procesadores de 32 bits que no tienen habilitada la extensión de direcciones físicas, cada proceso dispone de un directorio de páginas que contiene 1024 entradas de directorio de páginas (Page Directory Entry – PDE), con un tamaño de 4 Bytes cada una. Cada PDE apunta a una tabla de páginas que contiene 1024 entradas de tabla de página (Page Table Entry – PTE), con un tamaño de 4 Bytes cada una. Cada PTE apunta a un marco de páginas de 4 KB en la memoria física. El tamaño total de todas las tablas de página para un proceso es de 4 MB, por lo que el gestor de memoria virtual descarga las tablas individuales a disco cada vez que lo necesita, utilizando el mecanismo de paginación. Imagen 1: Estructura de la tabla de páginas de 4 KB sin PAE El hardware hace referencia al directorio de páginas y a las tablas de páginas a través de sus direcciones físicas. Para mejorar el rendimiento general el gestor de memoria mapea el directorio de páginas y las tablas de página de una región de 4 MB de direcciones virtuales. Este automapa permite que el gestor de memoria traduzca una dirección virtual a la correspondiente dirección PDE o PTE sin la necesidad de realizar accesos adicionales a la memoria. Cuando se cambia el contexto de un proceso, sólo es necesaria la modificación de una única entrada del directorio de páginas para que correspondan con las nuevas tablas de páginas del proceso. Extensión de direcciones físicas PAE José Arturo Sánchez Ramírez [email protected] Universidad Atenas Veracruzana, Maestría en Redes y Telecomunicaciones

Upload: jose-arturo-sanchez-ramirez

Post on 25-Jun-2015

411 views

Category:

Documents


0 download

DESCRIPTION

Trabajo sobre Extension de direcciones fisicas PAE (Physical Address Extension)

TRANSCRIPT

Page 1: Extension de Direcciones Fisicas - PAE

Sistemas operativos para redes

1

La Extensión de direcciones físicas (Physical Address Extension - PAE), es una característica de los procesadores X86 que permite a los sistemas de 32 bit utilizar hasta 64 GB de memoria física, siempre y cuando el sistema operativo tenga el soporte adecuado. PAE permite al software que utiliza el conjunto de API Address Windowing Extensions (AWE) en un equipo con un procesador Intel Pentium Pro o posterior, y más de 4 gigabytes (GB) de memoria física RAM, asignar más memoria física en el espacio de direcciones virtuales de la aplicación, mientras que en los sistemas Unix se utilizan diferentes trucos, como maps() para mapear regiones de un archivo en un espacio de direcciones cuando se necesita sin tener definido un estándar. El mecanismo PAE permite al gestor de memoria mejorar el rendimiento sobre el uso de memoria. Para identificar los procesadores con la habilidad de soportar PAE existe una bandera llamada CPUID PAE. En las versiones de Windows XP SP2 y posteriores el modo PAE se ejecuta de manera predeterminada en todos los sistemas con soporte NX; el Bit NX es una característica adicional del PAE presentada por AMD, este Bit NX funciona como una bandera (Flag) para indicar que la página no es ejecutable

En los procesadores de 32 bits que no tienen habilitada la extensión de direcciones físicas, cada proceso dispone de un directorio de páginas que contiene 1024 entradas de directorio de páginas (Page Directory Entry – PDE), con un tamaño de 4 Bytes cada una. Cada PDE apunta a una tabla de páginas que contiene 1024 entradas de tabla de página (Page Table Entry – PTE), con un tamaño de 4 Bytes cada una. Cada PTE apunta a un marco de páginas de 4 KB en la memoria física. El tamaño total de todas las tablas de página para un proceso es de 4 MB, por lo que el gestor de memoria virtual descarga las tablas individuales a disco cada vez que lo necesita, utilizando el mecanismo de paginación.

Imagen 1: Estructura de la tabla de páginas de 4 KB sin PAE

El hardware hace referencia al directorio de páginas y a las tablas de páginas a través de sus direcciones físicas. Para mejorar el rendimiento general el gestor de memoria mapea el directorio de páginas y las tablas de página de una región de 4 MB de direcciones virtuales. Este automapa permite que el gestor de memoria traduzca una dirección virtual a la correspondiente dirección PDE o PTE sin la necesidad de realizar accesos adicionales a la memoria. Cuando se cambia el contexto de un proceso, sólo es necesaria la modificación de una única entrada del directorio de páginas para que correspondan con las nuevas tablas de páginas del proceso.

Extensión de direcciones físicas PAE

José Arturo Sánchez Ramírez [email protected]

Universidad Atenas Veracruzana, Maestría en Redes y Telecomunicaciones

Page 2: Extension de Direcciones Fisicas - PAE

Sistemas operativos para redes

2

De forma adicional, las entradas en el directorio de páginas tienen una nueva bandera (flag) llamado PS (Page Size), si este Bit7 tiene el valor 1, la entrada en el directorio de páginas no apunta a una tabla de páginas, sino a una sola página grande de memoria.

Imagen 2: Estructura de la tabla de páginas de 4 MB sin PAE Los procesadores de 32 Bits que tienen habilitada la extensión PAE utilizan entradas PDE y PTE de 64 bits para representar el número de marco de página que, a su vez, tiene un tamaño mayor de 24 bits. Por esto los directorios de página de segundo nivel y las tablas de páginas contienen solo 512 entradas PDE y PTE, respectivamente. Para poder proporcionar los 4 GB de espacio virtual de direcciones es necesario un nivel adicional de directorio de páginas que contenga 4 entradas PDE.

Imagen 3: Estructura de la tabla de páginas de 4 KB con PAE habilitado Para evitar la traducción de todas las direcciones virtuales buscando las entradas PDE y PTE, los procesadores utilizan un búfer de traducción directa (Translation Lookaside Buffer – TLB), que contiene un cache de memoria asociativa que asigna páginas

Page 3: Extension de Direcciones Fisicas - PAE

Sistemas operativos para redes

3

virtuales a las entradas PTE, a diferencia de la arquitectura de 32 bits, en la que el TLB es gestionado por la MMU, la arquitectura de 64 Bits utiliza una rutina de interrupción de software para poder realizar las traducciones que no se pueden realizar a partir del contenido del TLB. Esto proporciona una mayor flexibilidad al gestor de memoria virtual en el momento de elegir las estructuras de datos que se deben utilizar. Windows XP utiliza una estructura de árbol de 3 niveles para la traducción de las direcciones virtuales en modo monousuario en la arquitectura de 64Bits.

Imagen 4: Estructura de la tabla de páginas de 4 MB con PAE habilitado Activar PAE provoca importantes cambios en el esquema, pues se fija el bit 5, del registro de control del sistema CR4; Por defecto, el tamaño de cada página se mantiene en 4 KB. Cada entrada en la tabla de páginas y en el directorio de páginas se extiende a 64 bits (8 bytes) en lugar de 32 para permitir los bits de direcciones adicionales. El tamaño de la tabla no cambia, sin embargo cada tabla ahora sólo contiene 512 entradas. Ya que se han reducido a un cuarto el número de entradas del esquema original, se añade un nuevo nivel en la jerarquía, de manera que CR3 ahora apunta al Page Directory Pointer Table, una pequeña tabla que contiene punteros a los directorios de 4 páginas. PAE no cambia la cantidad de espacio de direcciones virtuales disponibles para un proceso. Cada proceso que se ejecuta en Windows de 32 Bits sigue siendo limitado a un espacio de direcciones virtuales de 4 GB. Las aplicaciones que no utilizan el conjunto API AWE también pueden beneficiarse de PAE X86, porque el sistema operativo utiliza la máxima cantidad de memoria física posible para reducir la paginación y así aumentar el rendimiento. Esto también puede beneficiar a los servidores de consolidación que alojan varias aplicaciones.

Las aplicaciones que manipulan grandes cantidades de datos logran un mejor rendimiento al guardar la información en la memoria, en lugar de en disco. Por ejemplo, PAE X86 puede mejorar de forma significativa el rendimiento de los siguientes tipos de aplicaciones:

Bases de datos, como Microsoft SQL/E 7.0 o posterior. Aplicaciones científicas y para ingeniería, por ejemplo, para cálculos de dinámica de fluidos. Aplicaciones de análisis estadístico que suelen utilizar la extracción de datos.

Actualizaciones de PAE X86 Se han realizado las actualizaciones siguientes para admitir la adición de Prevención de ejecución de datos (DEP), que

también se conoce como protección de página sin ejecución: PAE se habilita automáticamente en equipos que ejecutan Windows Server 2003 con Service Pack 1 (SP1) y Windows

XP con Service Pack 2 (SP2) cuando se ha habilitado DEP en un equipo con un procesador que admite la característica

Page 4: Extension de Direcciones Fisicas - PAE

Sistemas operativos para redes

4

de protección de página sin ejecución. Cuando se habilita el modo PAE en Windows Server 2003, Standard Edition con SP1 y Windows XP con SP2, el

espacio de direcciones físicas queda limitado a 4 GB. Esta limitación ayuda a evitar problemas de compatibilidad del controlador con el modo PAE.

Únicamente el hardware específico admitirá PAE X86; por tanto, esta característica no está habilitada después de la instalación inicial del sistema operativo. El modo PAE utiliza 4 bits de un registro de control para poder poner un nivel más de indirección a la memoria virtual y por tanto poder alcanzar un total (teórico) de memoria física de 64 GB. Teóricamente este límite que posteriormente está restringido por el sistema operativo. W2000 / W2003 Server y los sistemas W2000 Profesional, XP Profesional y XP Home, están limitados, funcionando o no en PAE, a un máximo de 4 GB de memoria. W2000/W2003 Advanced Server y posteriores amplían, en función de la versión instalada este límite y son los únicos capaces de superar los 4 GB. Los requisitos para la activación del Modo PAE son:

Procesador Pentium Pro o posterior Un mínimo de 4 GB de RAM Conjunto de chips y soporte 450 NX o compatible, o posterior La Capa de abstracción de hardware (HAL) debe admitir el modo PAE y el acceso adecuado a la RAM.

Para habilitar la Extensión de direcciones físicas en sistemas X86 pueden seguirse los siguientes pasos:

1. Abra el Explorador de Windows. 2. En el menú Herramientas, haga clic en Opciones de carpeta. 3. En la ficha Ver, haga clic en Mostrar todos los archivos y carpetas ocultos, desactive la casilla de verificación Ocultar

archivos protegidos del sistema operativo y, después, haga clic en Aceptar. Si aparece un cuadro de diálogo de advertencia, haga clic en Sí para continuar.

4. En la carpeta raíz (por ejemplo, C:), busque el archivo Boot.ini y quite su atributo de sólo lectura. 5. Abra el archivo Boot.ini y agregue el parámetro /PAE a la ruta de acceso de ARC, como se muestra en el siguiente

ejemplo de Windows Server 2003, Datacenter Edition: multi(0)disk(0)rdisk(0)partition(2)\%systemroot%="Windows Server 2003, Datacenter Edition" /PAE

6. En el menú Archivo, haga clic en Guardar. 7. Restaure el atributo de sólo lectura del archivo Boot.ini. 8. Para que el cambio tenga efecto, reinicie el equipo.

El modo PAE carga un núcleo especial de Windows y no el núcleo normal. Windows puede activar automáticamente PAE si el mecanismo DEP (Data Execution Prevention) está habilitado o si el equipo está habilitado para añadir dispositivos de memoria hot-plug para configuraciones de memoria de más de 4 GB, si el equipo no tiene este soporte PAE debe ser permitido explícitamente de la siguiente manera: Utilizando el set de comandos bcdedit se utiliza la siguiente secuencia: bcdedit / set [{ID}] ForceEnable pae SI DEP está habilitada, el PAE no se puede desactivar. Utilice los siguientes bcdedit / set comandos para deshabilitar tanto DEP y PAE: bcdedit /set [{ID}] nx AlwaysOff bcdedit / set [{ID}] nx AlwaysOff bcdedit /set [{ID}] pae ForceDisable bcdedit / set [{ID}] pae ForceDisable En Windows Server 2003 y Windows XP/2000: Para habilitar PAE, el uso de la PAE con el modificador / en el archivo Boot.ini Para desactivar el PAE, utilizar NOPAE con el modificador /. Para deshabilitar DEP, utiliza el EXECUTE con el modificador /.

Page 5: Extension de Direcciones Fisicas - PAE

Sistemas operativos para redes

5

PAE X86 y 4GT 4GT es otra tecnología que hace más memoria física disponible para las aplicaciones de usuario. PAE X86 y 4GT se pueden combinar para proporcionar aplicaciones de grandes cantidades de memoria virtual y proporcionar un significativo aumento del rendimiento. Sin embargo, utilizando 4GT reduce la cantidad de PTE disponible para el núcleo, mientras que el uso de PAE X86 aumenta dramáticamente la cantidad de memoria que deben ser indexados y traducido por el administrador de memoria. Esta combinación de escape del espacio del núcleo del sistema mucho antes de lo normal. Debido a esto, el administrador de memoria impone un límite de memoria virtual de 16 GB en un sistema con dos 4GT y X86 PAE habilitado. Incluso si un sistema tiene 32 GB o más de memoria física, si ambas opciones están habilitadas, sólo 16 GB de memoria serán reconocidos. Por lo tanto, si PAE X86 está habilitado en un sistema con más de 16 GB de memoria física, 4GT no se debe utilizar. Los sistemas que soportan PAE son:

FreeBSD en las versiones 4.9, 5.1, todas las 6.x y posteriores. Linux a partir del kernel versión 2.3.23 permite acceso a 64GB pero requiere que también el CPU soporte PAE Mac OS X para Intel soporta PAE y el bit NX en todos los CPUS a partir de la versión 10.4.4 Windows:

Solaris soporta PAE a partir de la versión Solaris 7, pero debido a la compatibilidad con los controladores de algunos

fabricantes es muy inestable. FUENTES Microsoft TechNet http://technet.microsoft.com/es-es/library/cc775523%28WS.10%29.aspx http://technet.microsoft.com/en-us/library/cc736309(WS.10).aspx