Cuando se instalan 4 GB de memoria y se usa un sistema operativo de 32 bits, como Windows XP y Vista de 32 bits, además de otros como Windows 2000 y GNU/Linux, éste sólo reconoce 3 GB, a pesar de que teóricamente un sistema de 32 bits direcciona esos 4 GB y la BIOS es capaz de reconocerlos.
Muchos usuarios se han preguntado el por qué de esta limitación en los sistemas operativos de 32 bits. En un caso, un usuario de Dell le preguntó a Dell y Dell explicó, una explicación incorrecta e imprecisa, que se debe a que tradicionalmente la memoria se expresaba en formato decimal (Considerando 1 GB = 109 B), pero Vista lo hace en formato binario. (Considerando 1 GB = 230 B). La explicación es falsa, pues los sistemas operativos y las BIOS siempre han expresado la memoria física en sistema binario.
Sin embargo, HP ofreció la respuesta correcta y bien detallada cuando surgió este problema al empezarse a instalar 4 GB con Windows XP. La memoria situada por encima de los 3 GB hasta los 4 GB se usa para el espacio de memoria de direcciones de dispositivos PCI, por lo que no toda es utilizable para el sistema operativo. Dependiendo de la configuación del PC se puede llegar a los 3,4GB.
La única forma de superar esta limitación es usar un Sistema Operativo de 64 bits, (No tienen esta limitación tan cerca y pueden reconocer mucha más RAM: 32 GB con WinXP 64 bits o 128GB con Vista, por ejemplo) evidentemente sólo podremos hacerlo si tenemos un procesador con instrucciones AMD64 o EMT64.
siempre es bueno meterle mucha memoria al pc, y ese giga que decis que se aburre pies no lo se xq dice que se reserva al PCI y si peto los PCI de tarjetas lo mismo ese giga aburrido ya podria hacer algo no?
Pues prefiero tenerlos rascandosela a tener que chuparme un SO de 64 bits de MS, pierdes rendimiento y compatibilidad, bueno para esto ya esta el Vista de 32 bits....
Hola, veo q hay algo de confusion por aqui, Que yo sepa esto cualquiera q haya cacharreado algo con hardware deberia de saberlo. Por ejemplo, meteros en el administrador de dispositivos, le dais a mostrar dispositivos por tipo y seleccionais memoria. Observareis q el espacio q va entre CDC00000 y FFFFFFFF (al menos en mi equipo) esta casi todo reservado para acceder a varios dispositivos del ordenador, como pueda ser la tarjerta de video, dispositivos PCI, etc. Por ello tener memoria fisica por encima de la direccion CDC00000 en mi equipo al menos realmente no tendria ningun setido, puesto que cuando el controlador de memoria, por ejemplo, quiera acceder a la direccion FFFFFFF0, por poner un ejemplo, no estaria realmente accediendo a la memoria fisica del ordenador, sino al dispositivo q este mapeando en ese momento esa direccion de memoria. Asi que no es que se pierda rendimiento ni nada, es que realmente para el procesador esa memoria no existe
En realidad no los tienes rascandose la barriga. Sino que no se pueden direccionar mas de 4 Gb con 32 bits ( aqui incluimos todas las direcciones virtuales de puertos además de la memoria paginada). Habría que meter el concepto de memoria virtual pero no es el caso. La cuestion es q es una de las razones de pq los 32 bits se empiezan a quedar cortos y tarde o temprano se acabaran olvidando los 32 bits...
El porqué de estos mapeos en memoria cuando la arquitectura x86 contempla un espacio de memoria y de E/S separados, pues ciertamente no lo se, aver si alguien de ustedes pe pudiera aclarar este punto. Por ejemplo, los procesadores RISC suelen llevar casi siempre la E/S mapeada en memoria, como pueda ser el PowerPC, el MIPS o parecidos.
Y como curiosidad, los primeros Kb de la memoria tampoco se pueden utilizar, puesto q son usados por el controlador de interrupciones, y la memoria entre 640K y 1 M creo q es reservada por la BIOS y la tarjeta grafica (herencias del MS-DOS)