4GB de RAM y 32 bits, un déjà vu informático.
Publicado por DaVinci el Miércoles, Octubre 8th, 2008 a las 20:00
Como si de un déjà vu se tratase, compras un ordenador nuevo con sus flamantes 5 GB de RAM y al llegar a casa…¡Sorpresa! Windows solo te reconoce 3 y pico, lo primero que haces es acordarte de la familia de quien te vendió el ordenador, acto seguido te paras a pensar en ello(dados tus amplios conocimientos en la materia) y te das cuenta de que es normal, que la historia se repite y que te han vuelto a timar, 30 años después con el mismo pretexto.
Allá por el año 1978 intel desarrolló el famoso i8086, el primer procesador para PC de 16 bits. Por aquellos años era casi impensable que un ordenador llegase algún día a superar la increíble cifra de 64KB de RAM, por lo que nadie se preocupó a la hora de diseñar, no solo un microprocesador, si no un sistema operativo e infinidad de aplicaciones para PC´s de 16 bits. Pero para cuando se dieron cuenta de que la informática avanzaba de manera exponencial, 64KB de RAM lo usaban las calculadoras más cutres fabricadas por los chinos y se dieron cuenta de que la arquitectura de 16 bits era mala idea. Fue entonces cuándo nacieron las famosas memoria extendida y memoria ampliada, usadas por el sistema operativo reinante (M$-DOS) como solución temporal para poder aprovechar más de 64KB de memoria RAM, aunque fuese de manera “simulada”. Nació así la primera cagada informática. Pero, vamos a explicar un poco mejor la relación entre los bits del procesador y la capacidad de memoria RAM que puede manejar.
Como todos sabemos los ordenadores computan dos variables 1 y 0, es decir trabajan en código binario y cada uno de ellos es lo que conocemos como un bit(b), éstos se asocian en grupos de 8 formando lo que conocemos como Byte(B)
La capacidad que el procesador tiene, para direccionar memoria, es decir, asignarle a cada byte un sitio determinado, depende del bus de dirección y la capacidad de éste, depende del nº de bits que lo forman, calculándose de la siguiente manera: 2^n(2 elevado a n), donde n representa el nº de bits y el 2 viene dado por las dos variables posibles (1 y 0)
Esto quiere decir que un procesador de 16 bits puede mapear( direccionar):
2^16=65536 bytes= 64KB, es decir, casi no llega para el tetris.
Uno de 32 bits en cambio:
2^32=4294967296 bytes=4194304 KB=4096 MB= 4 GB
Esto quiere decir que hemos llegado nuevamente al límite físico de los procesadores de 32 bits para gestionar memoria RAM y, ¿qué soluciones tenemos? Pues a día de hoy ninguna es buena. Podríamos quedarnos con 4 GB y no avanzar ya nunca más en la historia informática, todos nos estancaríamos y no se venderían más PC´s que los de sustitución de lo averiados, los programas no avanzarían más y no saldrían actualizaciones de software, lo que nos llevaría a una crisis mundial que acabaría con la humanidad, como ventaja podríamos destacar que no saldrían más versiones de Windows, pero, como es poco probable que esto ocurra, veamos las otras opciones.
Que nadie piense que se libra de este problema instalando linux o similar, como he mencionado anteriormente el problema viene dado por la arquitectura del procesador. Digo esto para que nadie piense que soy un maníaco-obsesivo en contra de Microsoft, por nombrarlo nada más que a él como ejemplo (aunque lo sea).
Microsoft ha tomado dos alternativas al respecto para “aprovechar” toda la memoria RAM, la primera pasa por usar las extensiones PAE(Physical Address Extension) incorporadas en los procesadores desde la salida del Pentium Pro, es un sistema un tanto complejo, que amplia las líneas de direcciones del procesador hasta los 36 bits, aunque las aplicaciones se siguen ejecutando en 32 bits, con lo cual se pueden mapear hasta 64 GB, aunque no es recomendable su uso ya que el rendimiento del PC con estas extensiones es inferior a uno con 4 GB y para más INRI hay muchos drivers que son incompatibles con estas extensiones, lo que crea conflictos por doquier(como si no tuviera windows bastantes).
¿Qué solución ha tomado el gigante informático de nuestros tiempos para solucionar esto? Pues una estrategia muy inteligente y ateniéndose al refrán, ojos que no ven, corazón que no siente, nos lo oculta y…¡Ya está!¡¿Problema resuelto?!
Uno de los cambios más notables de la actualización de Windows Vista SP1 es la mayor patraña que se ha podido inventar Microsoft quien, en vez de buscar una solución al evidente problema, lo enmascara sutilmente, y me explico. Antes en las propiedades del sistema te aparecía la memoria RAM detectada, es decir, la disponible para el sistema, con lo cual se veía que nunca se alcanzaban los 4 GB, pero ahora lo que muestra es la memoria instalada, es decir, si tienes 100GB de RAM, te dice que los tienes, eso si, no va a usar ni 4, pero tu los tienes.
¿Quieres comprobarlo? Pulsa en inicio y escribe Paint, pulsa enter, dale a Ayuda/Acerca de Paint, abajo podrás leer: “memoria física disponible para Windows®:……..KB. Esta es la memoria que tu ordenador está usando realmente y con la que trabaja, el resto que le pongas va a hacer la misma función que si la guardas en una caja de zapatos
Pero entonces ¿cuál es la solución?, pues de una vez dar el salto a los 64 bits, superar ese miedo al cambio, reescribir los programas que hagan falta para que funcionen en 64 bits y empezar de cero una nueva era informática, luego, para cuando 16 EXABytes(17.179.869.184 de GB) nos parezcan insuficientes, ya nos plantearemos el cambio a los 128 bits, no sin antes vender equipos de 32 EXAbytes de memoria RAM, por supuesto.






















Bueno, por lo que tengo entendido, el último sistema operativo Mac (Leopard) funciona completamente a base de 64 bits…
Como futuro poseedor de un MacBook(espero que pronto), he estudiado el tema y no es exactamente así, aunque quieran hacerlo creer por marketing.
En Mac, te diriges a la línea de comandos y tecleas: file /mach_kernel
y te saldrá esto:
/mach_kernel:(for architechture i386):mach 0 executable i386
/mach_kernel:(for architechture ppc):mach 0 executable ppc
i386 es la arquitectura de 32 bits para intel/AMD, y ppc para los PowerPC de IBM. Si fuera un 64 bits puro, debería salir:
/mach_kernel (for architecture x86_64): Mach-0 executable x86_64
Lo que hace inteligentemente el Leopard, es emular los 64 bits para poder correr aplicaciones de 64 bit.
Y por qué Windows 32 bits no llega a reconocer los 4GB que debería y sólo se queda en 3 y pico?.
Gracias
No he querido entrar en demasiados detalles en el artículo para fuese fácilmente entendible, pero te puedo decir que cuando se realiza el mapeo de memoria también se asignan direcciones a los puertos PCI y otras conexiones internas del PC, lo que ocupa direciones que no pueden ser ocupadas por memoria RAM. Así que, cuantas más ampliaciones tengas instaladas, menos memoria te detectará windows.
a que te refieres con ampliaciones? te refieres a proramas? osea que no puedo tener muchos programas instalados? muchos cuantos? jaja que porqueria!
Estuve viendo el modo de ponerle timerstop a windows vista, funciona bien eso? no se deteriora el rendimiento de mi pc? tengo vista de 32 bits con 4 de ram y no pienso comprar vista de 64 por nada en esto mundo, es una estafa!
Aquí no apoyamos la piratería, lo siento,tendrás que buscar por otra clase de medios y de paso a ver si nos paramos a escribir mejor, anda que….
[...] 4GB de RAM y 32 bits, un déjà vu informático www.mentesinquietas.es/blog/?p=217 por el_flaco2k hace pocos segundos [...]
cierto, el Windows 32 bits no llega a los 4Gb :S
Err. crrige: el 8086 controlaba 640 Kb de memoria base, luego venía la memoria alta, la extendida y la expandida ¡Que traumas con aquello!
También creo que te lias un poco entre bits y bytes y que te olvidas del bus: El 8086 puede transferir 16 bits a la vez mediante el bus de direcciones de 20 bits, con lo que pueden direccionar hasta 1 Megabyte de memoria RAM, y hacer el manejo de memoria en forma segmentada en bloques de 64KB.
Aparte de Linux y otras cosas útiles, Microsoft sacó un Windows XP de 64 bits (si tienes un micro de 64 bits) que te gestiona toda la memoria. Pena que no se molesten en actalizarlo.
También hay un vista 64 bits, pero para que sacar el tema de ese Millenium Edition 2.
El modelo 8086 tenia 20bits en el bus de direcciones…
Mikel dijo:
“Aparte de Linux y otras cosas útiles, Microsoft sacó un Windows XP de 64 bits (si tienes un micro de 64 bits) que te gestiona toda la memoria. Pena que no se molesten en actalizarlo.
También hay un vista 64 bits, pero para que sacar el tema de ese Millenium Edition 2.”
Es cierto, pero ¿de que te vale tener un sistema operativo de 64 bits si las aplicaciones que usas normalmente son de 32 bits y no las puedes ejecutar en ese “Milenium Edition 2 x64″?
De lo que trata el fondo del artículo es del miedo de los fabricantes de software, a dar el salto a los 64 bits, un salto que los fabricantes de hardware ya han hecho hace años(prácticamente todos los procesadores de 2 o 3 años para aquí son x64, aunque estén con S.O. 32 bits), un salto que obligará a reescribir millones de líneas de código a cientos de fabricantes, un déjà vu que nos hará vivir de nuevo aquel mítico mensaje de windows:
“xxxxxx.exe no es una aplicación WIN32 válida”
ACEPTAR y resignarse CANCELAR y joderse
Mikel dijo:
“Err. crrige: el 8086 controlaba 640 Kb de memoria base, luego venía la memoria alta, la extendida y la expandida ¡Que traumas con aquello!
También creo que te lias un poco entre bits y bytes y que te olvidas del bus: El 8086 puede transferir 16 bits a la vez mediante el bus de direcciones de 20 bits, con lo que pueden direccionar hasta 1 Megabyte de memoria RAM, y hacer el manejo de memoria en forma segmentada en bloques de 64KB.”
Mis disculpas, tienes razón, cuando tenga un ratillo corregiré el artículo. El día que hice el artículo me quedé hasta el c*** de leer información(lejos de la wikipedia, of course) sobre bits y bytes, y me lié con ese ejemplo.
La razón por la que Windows Vista no te mapea más de tres y pico de ram, es por que los 4 GB de memoria total que mapea incluyen la memoria de la targeta gráfica y las de otros dispositivos que tengas en tu ordenador, como sintonizadoras de tv, controladoras de disco duro (llevan memorias cache para mejorar rendimiento) y similares.
Una apreciación más, el i8086 usa una estructura de memoria segmentada (la memoria se divide en varios segmentos de 64 KB, y hay unos registros de segmento que apuntan al segmento de memoria al que se esta accediendo) que permite direccionar 1MB de memoria, el límite de 640KB de RAM es de la implementación del PC, no del procesador en si mismo, y eso se debe a que tenía alrededor de 384KB de ROM para la BIOS. La cuestión de la memoria extendida y expandida del MS-DOS era la utilización del último segmento de memoria como una dirección paginada desde dónde se podía acceder a la memoria superior a 1MB en procesadores i80286, que pueden direccionar en modo i286 hasta 16MB, pero que en modo emulación del i8086 sólo pueden direccionar 1MB pero gracias a un error de implementación de dicha “emulación” permitía que el último segmento pudiese apuntar a otras posiciones de la memoria (el Ms-DOS en un i80286 seguía funcionando como si fuese un i8086). El i80286 en modo protegido (incompatible con el modo real i8086) puede direccionar, como ha he dicho 16MB de RAM aunque tiene un espacio virtual de memoria de hasta 1GB.
tengo un AMD 3000 a 1.61 ghz.la ranuras donde se mete la memoria es dual chanel creo por que son dos amarillas y dos rojas.si pongo las dos de 1g de DDR a 800 me pone al arrancar en el apartado de memoria informacion DDR 800 single chanel, 64 bits y me reconoce Windos 1.96 Ghz pero si a parte le ponge tambien otra igual pero de 512 me pone DDR 800 single chanel, 128 bits y me reconoce 2.46.Mi pregunta es que es eso de los bit y que hago dejo 2 a 64 bits o 2.5 a 128 bits.gracias
Tengo un equipo con procesador INTEl i7 es decir que todo estya preparado para los 64 bits.
Sistema operativo actualizado: Windows xp x64.
12GB_RAM KINSTON
Tengo algunos programas de diseño 3D avanzado,que solo funcionan en 32 bits.
Pregunta: Que cantidad maxima de memoria pude gestionara el sistema windows xp x64,al ejecutar estos programas.
Agradeceria un respuesta.
La cantidad máxima de memoria RAM que puede gestionar Wondows XP x64 es de 128 GB.
Ahora tendrías que saber cual es la capacidad máxima que soporta tu placa base.
Un saludo.