¿Por qué técnicamente Windows 32-bit usa solo 2GB de RAM?

La cantidad de memoria disponible está condicionada por la forma en que el sistema la maneja.

En el mundo de 16 bits, la memoria se dividía entre memoria local y memoria lejana. Los punteros se hicieron de dos partes, una para acceder a los 64 kb más cercanos, y otra parte para indicar qué búfer de 64 kb usar, por lo tanto, direccionando 1 Mb, con un puntero de 10 bits. Luego, Windows comenzó a usar un modelo de memoria plana con punteros de 4 bytes. En teoría, esto permitía el direccionamiento de 2 ^ 32, es decir, 4 Gb de memoria. Pero cuando la memoria plana estuvo disponible, ninguna PC tenía tanta memoria, por lo que estaba bien usar entradas firmadas como punteros. Un int con signo es 1 bit para firmar y 31 bits para codificar el número, por lo que un máximo de 2 ^ 31 => 2 Gb de RAM.

Un Windows de 32 bits puede tener físicamente más de 4 Gb de RAM, aunque cada aplicación solo tendrá acceso a su propio espacio de memoria privada de 4 Gb, que generalmente es más que suficiente para una aplicación promedio.

Un sistema de 64 bits puede tener punteros a 16 ExaBytes de RAM, un orden de aproximadamente 10 ^ 18, que se acerca al número de sinapsis en el cerebro humano (por supuesto, modelar una neurona y sus sinapsis requeriría mucho más de un byte !).

Además de eso, la RAM se virtualiza y se cambia al disco duro, pero esa es otra historia …

Las ventanas de 32 bits pueden usar hasta 4 gb de ram debido a los límites de direccionamiento (sí, hay hacks para usar más, pero están lejos de ser perfectos)

el sistema operativo más reciente de 32 bits que tiene un límite de 2 gb es el iniciador de Windows 7 y eso no fue por razones técnicas, esa versión es para dispositivos de baja potencia, como netbooks, y estaba paralizada y se hizo barata

Límites de memoria para las versiones de Windows y Windows Server

Las computadoras funcionan usando binarios. Es decir, uno o un cero. Por lo tanto, cada bit tiene solo dos valores posibles.

Un procesador de 32 bits usa direcciones que solo tienen 32 bits de largo, de ahí el nombre. Ahora, 2 a la potencia de 32 es 4294967296. Esa cantidad, en bytes, resulta un poco más de 4 GB .

Las computadoras que tienen 32 bits no pueden soportar más de 4GB ~ de RAM ya que no pueden direccionar / acceder a la RAM adicional. Es decir, la computadora no puede “hablar” con la memoria adicional

¡Pero espera! La mayoría de los procesadores de 32 bits pueden manejar más de 4 GB. Simplemente usan múltiples bloques de 32 bits si necesitan usar más de 4 GB de direcciones.

La razón por la que Windows no le permite usarlo todo es porque su versión no lo admite. Necesita una edición de servidor o una versión de 64 bits.

Una máquina de 32 bits puede contar hasta 2 ^ 32, que son 4 unidades Giga. (4,294,967,296 para ser exactos). Por lo tanto, esto limita la cantidad de direcciones de memoria a ese número.

Por lo tanto, un procesador de 32 bits puede administrar hasta 4 GB de dirección RAM, sin embargo, el sistema operativo y otros periféricos reservan algo de memoria, lo que disminuye la RAM utilizable.

Wikipedia habla de esto con mucha más agudeza de la que podría … https://en.wikipedia.org/wiki/3_