Está en la página 1de 3

Warez-Nigga

Utilizar 4 gigas de RAM en Windows Vista

Autor Warez-Nigga
Como muchos ya saben, los sistemas operativos de 32bits no pueden gestionar 4GB de memoria
RAM completos. Esto quiere decir que aunque instalemos 4GB de RAM en nuestro ordenador tan
sólo vamos a utilizar un máximo de 3.2GB.

Esto, a la vista de lo que posteriormente se explica, no es cierto en estos términos, ya que una
cosa es que no tengamos disponible esta memoria y otra que no la gestione.

Esto no es un problema nuevo, ya que problemas con el tamaño de la memoria ya se planteaban


con los sistemas operativos de 16bits y la barrera de los 640KB, no siendo accesible la memoria a
partir de este límite, si bien si se utilizaba para direccionar dispositivos de hardware.

Los que en aquella época ya estaban inmersos en este mundo de la informática recordaran que
con la llegada de los procesadores de 32bits esto se solucioné en parte, si bien en sistemas
operativos como MS-DOS para poder utilizar la memoria superior (la que se encuentra por encima
de esos 640KB) había que cargar el controlador Himem.sys u otros controladores que permitieran
acceder a esta zona de la memoria o el EMM386.exe para poder direccionar directamente algunos
archivos del sistema a esa zona de la memoria.

Pues bien, el problema que se plantea con los sistemas de 32bits y el límite de los 3.2GB (vamos a
redondearlo en esa cifra) no es exactamente el mismo, pero si que es similar.

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.

Varios dispositivos del requieren acceso asignado a memoria. Esto se conoce como E/S asignada a
la memoria (MMIO). Para que el espacio de MMIO esté disponible para los sistemas operativos de
32 bits, este debe estar dentro de los primeros 4GB del espacio de direcciones, por lo que el
sistema bloquea la memoria por encima de los 3.2GB, no permitiendo el acceso a programas a
ella, pero sí utilizándola para asignaciones de memoria de dispositivos.

Esta explicación nos plantea de momento una pregunta: Entonces ¿donde se asigna entonces la
memoria de estos dispositivos cuando tenemos menos de 4GB de memoria instalados?

Pues se asigna dentro de la memoria del ordenador, pero en memoria no reservada. Esto nos
plantea dos interesantes cuestiones.

Por un lado, que si bien es cierto que con menos de 4GB el sistema nos reconoce la totalidad de la
RAM instalada, esto no quiere decir que esté toda disponible, ya que hay que restarle la utilizada
para asignación a los dispositivos PCI.
Warez-Nigga
Por otro lado, que cuando tengamos instalados 4GB de RAM, 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
sí 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.

La pregunta que muchos se hacen es la siguiente:

¿Podemos acceder a esa parte de memoria y tenerla toda disponible?

Bien, una solución que se da para esto es habilitar la extensión PAE (Physical Address Extension.
Esto se hace 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.

Esto hace que Windows nos reconozca 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.
Warez-Nigga
Este factor no sólo ocurre en los sistemas de 32bits, sino también en los de 64bits.