Uso de más de 4 GiB de RAM en SSOO de 32 bits





Pruebas realizadas sobre Windows 8.1 Enterprise 32 bits, Intel Pentium G2020, y contando con 8 GiB de memoria RAM.



En primer lugar, debemos saber que un sistema operativo Windows de 32 bits, únicamente va a reconocer hasta 4 GiB de RAM, o mejor dicho, va a ser capaz de utilizar solo hasta ahí. Hacemos esta aclaración porque, efectivamente, Windows nos informará (al menos en las versiones más actuales) de la cantidad total de memoria instalada, y del mismo modo nos advertirá que solo va a utilizar un máximo de 4 GiB de esa RAM.





 
¿Por qué no es capaz de utilizar toda la memoria instalada?





La memoria RAM de un ordenador puede definirse, de una manera muy básica, como una colección de celdas que almacenan datos e instrucciones. Cada celda está identificada unívocamente por un número o dirección de memoria; es algo lógico si pensamos que de alguna manera habrá que acceder a cada una de esas celdas para introducir o sacar datos de estas. ¿y a cuántas posiciones de memoria podremos acceder con un bus de direcciones de 32 bits? Esa es la clave. Con un bus de direcciones de 32 bits podremos acceder a 232 posiciones de memoria. Si calculamos cuanto es 232 el resultado que obtenemos es 4.2941967.296, y si esto lo pasamos GiB obtendremos los 4 GiB que el sistema de 32 bits es capaz de gestionar.


La solución más eficaz y, por supuesto, idónea, pasaría por instalar un sistema operativo de 64 bits en lugar de uno de 32 bits en caso de tener más de 4 GiB de memoria RAM instalada en nuestro equipo y queramos aprovecharla. Pero no siempre nos interesa esta opción o, simplemente, no queremos cambiar nuestro sistema operativo. Vamos a mostrar otra posible solución con la que lograremos que nuestro sistema operativo de 32 bits será capaz de gestionar la totalidad de la memoria instalada.
¿Qué es PAE?
En informática, extensión de dirección física (Physical Address Extension) se refiere a una característica de los procesadores X86 que permite a los sistemas de 32 bits utilizar hasta 64 GiB de memoria física (dependiendo en parte del sistema operativo del que se trate). Utilizaremos esta peculiaridad para lograr nuestro propósito.
Lo primero que haremos será descargarnos el parche adecuado a nuestro sistema operativo, para después operar sobre este.

https://wj32.org/wp/download/PatchPae2.zip


¡¡¡Empecemos!!!


Lo primero será descomprimir el parche en la ubicación adecuada, que será en nuestro directorio “System32” correspondiente. Después lo ejecutamos como administrador y a continuación seguiremos con las siguientes órdenes ejecutadas desde símbolo de sistema (entraremos en windows\system32>
Recordamos que estamos realizando el proceso con Windows 8.1:

1.- Creamos una copia del Kernel de Windows 8.1 modificado, que soportará hasta 64GiB.

PatchPae2.exe -type kernel -o ntoskrnx.exe ntoskrnl.exe

2.- Creamos un nuevo Bootloader modificado. 

PatchPae2.exe -type loader -o winloadp.exe winload.exe

3.- Creamos la nueva entrada que aparecerá en el menú de arranque. Nos saldrá un número identificativo que debemos apuntar. 

bcdedit /copy {current} /d "Windows (PAE Patched)"

4.- Ahora utilizamos el número que antes obtuvimos. Irá entre las llaves {}

bcdedit /set {boot_ID} kernel ntoskrnx.exe


5.- Establecemos un nuevo cargador y anulamos el anterior.

bcdedit /set {boot_ID} path \Windows\system32\winloadp.exe


bcdedit /set {boot_ID} nointegritychecks 1


bcdedit /set {bootmgr} default {boot_ID}


(¡¡OJO!! el número que antes apuntamos habrá que sustituirlo siempre por “boot_ID”, solo en esos casos).
Y por último, establecemos el tiempo de espera para arrancar el sistema por defecto


bcdedit /set {bootmgr} timeout 10
 

Hay que tener cuidado con las actualizaciones, ya que algunas también modifican el kernel. Por tanto habrá que actualizar, igualmente, el sistema creado.

PatchPae2.exe -type kernel -o ntoskrnx.exe ntoskrnl.exe

Si todo ha ido bien, al reiniciar debemos tener la opción de elegir entre el sistema que teníamos, o el nuevo sistema capaz de gestionar más de 4GB de RAM.




Una vez arranquemos el sistema podremos comprobar que la cantidad de memoria RAM que el sistema reconoce como utilizable, ha aumentado hasta la cantidad de memoria realmente instala.






Vamos a realizar una prueba para comprobar si realmente el sistema está haciendo uso de la memoria RAM que ahora sí reconoce como utilizable. Comprimiremos el mismo vídeo en ambos sistemas y compararemos el tiempo que tarda cada uno de ellos en finalizar dicha tarea.










Como vemos en la gráfica el tiempo que tarda en comprimir el mismo vídeo bajo las mimas condiciones de estrés para el sistema es muy similar en ambos casos, con una diferencia de, apenas, dos minutos. De haber realizado tareas con mayor consumo de memoria la diferencia habría sido más notable.

Podemos concluir que efectivamente el sistema modificado funciona correctamente, siendo capaz de aprovechar la totalidad de la memoria que  tengamos instalada en el sistema. Así lo reflejan los datos de uso de memoria mientras se ejecutaba la tarea, teniendo que en el caso del sistema no modificado el uso de RAM era de 2,8GiB  mostrando como disponible 393MiB,
mientras que en el caso del sistema con la modificación el uso de RAM ha sido de 2,5GiB dejando como disponibles 5,1GiB.




Comentarios

Entradas populares de este blog

RAID 0 y RAID 1 en Windows 11

Consumo eléctrico de monitores LED y CFFL

Pruebas de estrés a Procesador y Tarjeta Gráfica antiguos