viernes, 9 de octubre de 2009

La verdad sobre los Sistemas Operativos de 64 Bits

Resulta que tengo instalado Windows 7 64b, instalé esta versión porque supuestamente como tengo 4gb de ram, y para que la pici me viera toda la mem, esto era lo acertado. Pero igual me quedé con la duda, y despues de navegar horas y horas descubrí en un foro una explicación que me logró satisfacer completamente. Asique a continuación el articulo.

Es lo que he comentado. En 64 bits lo que quieras ya que los drivers de 64 bits no tienen problemas para superar la barrera de los 4 GB.

El problema en 32 bits es porque con 32 bits solo se pueden direccionr 2 elevado a 32 = 4 GB justos. Los drivers certificados usan punteros de mayor capacidad y podrian superar la barrera, pero lso drivers de terceros no certificados causarion pantallazos azules.

Ahora bien, con solo 4 GB de memoria no merece la pena instalar 64 bits, ya que lo que ganas al usar toda la memoria lo pierdes por el "padding" mecesario por la CPU al tener que alinear datos e instrucciones a frontera de 64 bits dandose la pardoja que queda menos memoria libre para programas y datos que si utilizases un sistema de 32 bots aunque no viese toda la memoria.

En 64 bits, aunque el software que puede ejecutarse puede ser de 32, los drivers y DLL's de nucleo deben ser obligatoriamente de 64 (es por diseño hardware de CPU, no imposicion del sistema operativo, que obliga a que todo lo que se ejecute en modo kernel -y los drivers deben hacerlo- sean de 64).

El decidir usar 64 bits no es una decision sencilla para el usuario y debe meditarla. 64 bits, tienen la ventaja de superar la frontera de 4 GB de memoria, pero no deben instalarse si SOLO se tienen 4 GB ya que la memoria que se gana por un lado (los 4 GB son visibles competamente) se pierde por otro lado ya que en 64 bits, los programas y los datos en memoria ocupan practicamnte el doble que en 32 al tener que alinearlos el hardware a frontera de palbra del modo de funcionamiento de la CPU por lo que ocurre 'padding" (vacios de memoria que no pueden usarse). Por ejemplo, la letra "A", ocupa en memoria 4 bytes en modo 32 bits, (se pierden 3 bytes), pero en modo 64, ocupa 8 bytes (se pierden 7). Esto da como resultado que aunque se pueda usar la memoria completa, la que queda disponible para programas en realidad es inferior a un sistema con 32 aunque este último no viese toda la memoria.

Por otra parte, no existe software de 64 bits. Es más, el IE o el Windows Media Player que arrancas en un sistema de 64 bits, son realmente los programas de 32 bits ya que sino no funcionarian (no existen complementos, ni el flash player, ni codecs de 64 bits). Incluso el Office del propio Micorosft es de 32 bits. Aunque Windows de 64 es capaz de ejecutarlos, los ejecuta en modo "emulacion", es decir dentro del WoW (Windows on Windows). Esto provoca una sobrecarga al sistema que lo hace entre un 5 y un 10% mas lento que si se ejecutasen realmente en 32 bits.

Unicamente es justificable el uso de 64 bits en sistemas con mas de 4 GB de memoria (extrictamente más, no igual).

Espero que les haya parecido tan esclarecedor como a mi. Suerte