Más de alguna vez, a la hora de descargar un controlador para el PC o un Programa, les ha tocado elegir si quieres una versión de 32 o 64 bits.

Los Sistemas Operativos de 32bits y de 64, a simple vista son iguales. No parecieran tener opciones distintas, ni otras interfaces, entonces ¿qué son? ¿en qué se diferencia?.

32 vs 64 Bits

Primero veamos las siguientes nomenclaturas que ocuparemos.

x64 = 64 bits
x86 = 32 bits
S.O. = Sistema Operativo

Para tener un sistema operativo de 64 bits, también debes contar un computador con la misma arquitectura (igual puedes instalar un S.O de x64 en una CPU x86, pero no sacarás provecho de sus ventajas). Lo mismo si tienes un computador de x86, sacas cero provecho si le instalas un S.O x64.

Sistemas de 32 bits

En un sistema operativo x86 permite un máximo de 232 direcciones de memoria distintas por cada byte de información, es decir:

232bytes = 4.294.967.296 bytes = 4GiB

El cálculo anterior explica por qué si tienes un sistema operativo de 32 bits, no puedes aprovechar más de 4GiB de RAM instalada en tu computador, ya que sólo puedes direccionar aprox. 4.3 mil millones de direcciones de memoria distintas, que son equivalente a las 4 gigas mencionadas previamente.

La capacidad de las memorias RAM actuales se miden en GiB (GibiByte). Se tiende a confundir con GB (GigaByte) porque sus valores son algo similares, también su pronunciación y nomenclatura.

Además de la RAM, el S.O. x86 tiene que direccionar otras cosas como recursos de placa base, tarjetas de extensión como la tarjeta grafica, sonido, etc. Así que de tus 4Gigas sólo podrás utilizar entre 2,75 a 3,5GiB.

¿Y qué significan estas direcciones?

Cada vez que ocupas un programa o abres un archivo éste se carga sobre la memoria RAM, esto es, cada byte de información que se está ejecutando se guarda sobre una “dirección” o “celda” de esta memoria. Luego que se cierra la aplicación, estas direcciones se liberan y están disponibles para otros programas.

Por esto, si tienes más RAM, puedes tener más programas abiertos “al mismo tiempo” (aunque no implica mayor velocidad).

Sistemas de 64 bits

El principio funciona igual que los de 32, si tienes 64 bits, puedes direccionar un máximo teórico de 264 direcciones distintas de memoria, es decir:

18.446.744.073.709.551.615 bytes = 16 Exbibytes (EiB)

Junto a lo anterior un sistema de 64 bits puede procesar un número más grande de bits por ciclo de CPU, mientras el de 32 sólo procesa números de largo 232, el de 64 lo hace de 264.

Si tenemos dos procesadores de distinta arquitectura, pero de misma velocidad, podríamos resumir lo anterior en palabras más simples con el siguiente ejemplo:

Imagina que un sistema de x86 es una bicicleta y uno de x64 es un trasatlántico que corren a la misma velocidad.

Automáticamente nos damos cuenta que el de 64bits puede transportar más personas “información” en el mismo tiempo que el de 32bits; haciéndolo más eficiente.

Actualmente los sistemas operativos de 64 bits soportan un máximo de 192GiB de RAM, siempre y cuando también tengas un procesador de esta arquitectura.

¿Puedo correr un programa 64 bits en un computador con S.O. de 32?

Aunque técnicamente no se puede, igual puedes engañar al S.O. En el caso de MacOS no hay que hacer ningún truco, ya que el núcleo es híbrido, por lo cual soporta aplicaciones de 32 o 64 bits. Pero Windows y Linux tienen S.O. por separado para cada arquitectura, si quieres engañarlo, tendrías que instalar una máquina virtual con un sistema operativo de 64 bits y así echar a correr tu aplicación.

Brevenota Nerd: ¿Por qué la arquitectura de 32 bits se conoce como x86?

Debería ser x32, ¿no?, ya que la de 64 bits es x64.

A finales de la década de los 70 Intel introdujo la serie de procesadores 8080 y 8086, ambos de 16 bits.

Luego, a mitad de los 80 se introdujeron procesadores de 32bits: los 80386 y 80486.

De primera se solía escribir como 80×86, ya que muchos modelos posteriores al 8086 y de 32 bits variaban solo un número, como los 80186, 80286, 80386 y 80486.

Después de un tiempo, se abrevió la forma de referirse a ellos sólo como x86.

Aún así, actualmente hay procesadores de la familia x86, que cuentan con arquitectura de 64bits o más. Así que el término de x86 para referirse a los 32 bits está algo equivocado, ya que no se refiere a una arquitectura, sino que a una familia de procesadores. Lo mismo sucede con los x64.


Este dato me ha hecho ser el alma de las fiestas… e irresistible ante las féminas.