jueves, 11 de diciembre de 2008

4gb - Mito o Realidad

En mi trabajo legal, un cliente pidio una maquina que le funcionara realmente con 4 Gb, ya que el se habia documentando mucho y sabia que los Windows x86 (o lo que es lo mismo de 32 bits) solo soportan de 3 Gb a 3.25 Gb.

Asi que hagamos un poco de historia antes de entrar en la cuestión. La arquitectura x86 tienen una limitante en lo que a memoria se refiere, ya que la maxima direccion permitida es un número hexadecimal que para nosotros sería incomprensible, pero para el mundano seria 3 Gb, claro esta en las versiones avanzadas de Windows esta liminante puede llegar a 3.25 Gb (3315 Mb) caso del Vista Ultimate.

Este problema se plantea porque los sistemas operativos de 32bits (y no solo Windows, Linux también lo hace) reservan esta parte de la memoria para mapear los dispositivos PCI.

Esta claro que si compramos 2 DIMM de DDR2 de 2 Gb, estaremos desperdiciando 750 Mb aproximadamente.

Para solucionar el problema, los ingeniosos de INTEL desarrollaron la Physical Address Extension (Extensión de Direccionamiento Físico), la PAE (como es su abreviatura) no es otra cosa que una instrucciones del procesador 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 64 GB. Recordemos que este limite es el teórico 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 limite y son los únicos capaces de superar los 4 GB.

Ventajas e Inconveniente del modo PAE


En Modo PAE, no permite reconocer el total de la RAM instalada, pero (y todo tiene su ''pero'') también hace más lento nuestro sistema, a la vez que puede provocar algunas inestabilidades, así como algunas incompatibilidades con dispositivos, sobre todo si esto se hace en equipos de 32bits (este es uno de los motivos por el que se eliminó de Windows XP SP2).

Hay otro factor que debemos tener en cuenta. Siempre que el total de la memoria física instalada sea igual al máximo de memoria permitida por el chipset de la placa base, la memoria real disponible se reducirá, ya que el sistema va a reservar parte de esta memoria para el mapeo de dispositivos.

Esto a veces no ocurre en ordenadores que admiten un máximo de 2GB de RAM porque el límite máximo de memoria soportada no depende del chipset de la placa, sino de otras limitaciones impuestas por el fabricante (como por ejemplo incorporar sólo dos bancos de memoria, en lugar de cuatro o establecer una cantidad de RAM instalable inferior a la soportada por el chipset).

Esta reducción se sitúa entre los 200MB y 1GB, dependiendo de la configuración.

Este factor no sólo ocurre en los sistemas de 32bits, sino también en los de 64bits.

¿Que pasa si no tocamos el PAE?

Aunque el sistema no nos reconozca los 4GB sí que tenemos una mayor cantidad de la RAM que nos reconoce disponible, ya que esta asignación de memoria de los dispositivos PCI se hace mayoritariamente en la zona de memoria por encima de los 3.2GB, si bien hay una pequeña parte que sigue estando en la zona inferior de la memoria.

Esto es algo similar a lo que ocurre cuando tenemos una gráfica integrada. El sistema reserva la memoria dedicada para la gráfica y Windows ni siquiera la muestra como memoria instalada, pero si que está ahí y sí que la utiliza.

Ahora vamos a ver el mismo ejemplo, pero utilizando una gráfica con la tecnología TurboCaché o HyperMemory. Bien, sabemos que este tipo de tarjetas llevan integradas una parte de la memoria en la propia gráfica, pero para completar el total de la memoria de la tarjeta utilizan la memoria RAM.

Esta memoria se utiliza de forma dinámica y cuando se necesita, pero cuando se está utilizando tenemos que restarle a la RAM disponible la utilizada por la gráfica. Pues bien, si tenemos instalados 4GB de RAM, esta memoria que utiliza la gráfica se va a situar por encima de los 3.2GB, por lo que también vamos a tener disponible más memoria RAM que si sólo tuviéramos instalados 3GB, aunque el sistema sólo nos reconozca esos 3.2GB.

Conclusiones

Aunque resulta impactante tener 4 Gb teoricos en un computador, esta demostrado que realmente le sacaremos provechos con sistemas operativos de 64 bits. De alli mis siguientes recomendaciones:

  • Si desea trabajar con mas 3 Gb, deberia instalar un Sistema Operativo de 64 bits, pero debe atenerse a las consecuencias de dicho cambio
  • Si no desea cambiar su sistema operativo de 32 bits, y aun asi quiere montar 4 Gb de memoria RAM y utilizarlo. Ejecute desde el Editor de comandos (cmd.exe), escribiendo en él BCDEdit /set PAE forceenable. Este comando está disponible en Windows Vista, Windows Server 2003 y Windows XP SP1, pero no en Windows XP SP2.
  • Realmente no se aprecia un rendimiento notable entre 3.2 Gb y 4 Gb, al menos en Sistema Operativos Windows.
Cualquier comentario, estamos a la orden

No hay comentarios: