sábado, 25 de febrero de 2012

Dando el salto (Al vacío) con los 64bits y Fedora

Sabía que en algún momento llegaría este momento; Un día esperado por unos y temido por otros, el día en que la computación con las limitaciones de memoria como la conocíamos cambiaría para siempre: La llegada de los 64bits.

Bueno, ya dejando el trascendentalismo acerca del cambio de 32 a 64 bits, hay que decir que el cambio ha sido mucho más suave de lo que pensábamos: En realidad, mucha gente que compra nuevos computadores no sabe que su nuevo sistema operativo es de 64bits y tampoco le importa (Ciertamente no debería tampoco desde que funcione) y los que conocen un poco dirán que sirve para que reconozca las 4GB o más de memoria RAM.


Y es cierto, usar un sistema operativo de 64bits borra del mapa la limitación que no permitía que el sistema operativo reconociera más de 4GB... De hecho uno de 32bits solo reconoce como 3.5GB efectivos haciendo que toda esa memoria extra invertida quedara como adorno en la tarjeta madre.

Pero 64 bits es mucho más que "Reconocer" grandes cantidades de memoria RAM, dado que requiere que el hardware mismo lo soporte agrega a nivel de procesador nuevos juegos de instrucciones de propósito general (Pasa de 8 a 16), también duplica el juego de registros SSE de 8 a 16 bits y realiza llamadas al sistema más rápido debido a que la segmentación no está soportada en el modo de 64 bits. (Las llamadas al sistema no tienen las latencias asociadas con almacenar y recuperar la información de segmentación ni tienen que realizar las comprobaciones necesarias de protección a nivel de segmentación)[1].

En otras palabras, los 64 bits implican que tenemos un capacidad de cómputo superior, es posible crear librerías mucho más complejas cargadas en tiempo de ejecución y realizar cálculos con una precisión antes no vista en computadores caseros. Sin embargo, requiere también un software que explote todo ese poder y es aquí donde entra Linux.

Mi primer acercamiento a los 64bits
Antes tuve computadores con bastante memoria RAM, pero nunca creí necesario realmente los 64 bits. No obstante, para que reconociera mis 4GB de memoria usé mucho tiempo una extensión llamada Kernel-PAE. (Physical Address Extension por sus siglas en Inglés). Kernel-PAE crea una tabla de equivalencias que mapeaba los 32bits de tal forma que reconociera los 4GB o más de memoria instalada: Simple y efectivo, toda mi RAM y la compatbilidad de siempre.

Intenté instalar hace un buen tiempo (Al menos un año o dos) una distro de 64bits pero realmente no estaba lista para mí, aún faltaba mucha paquetería para la arquitectura y el reconocimiento de hardware era más bien pobre. Lo que es peor, las herramientas con las que habitualmente trabajo, no funcionaban o sacaban errores incomprensibles que arruinaban horas de dedicación.

Pero llegó mi nuevo laptop, con poder de procesamiento de sobra y desde su nacimiento -Ok, desde su ensamblaje- concebido para los 64 bits convirtiéndose en el escenario perfecto para adentrarme en este desconocido mundo de mapas de memoria extendidos definitivamente.

Descargué e instalé Fedora 16 de 64bits en mi Lenovo Ideapad G470. Para mi sorpresa, casi todo el hardware funcionó a la primera sin ninguna intervención y perfectamente; Las excepciones fueron como siempre el chip del WiFi (Una Broadcom que funcionó al pelo con el paquete kmod-wl de RPM-Fusion) y el micrófono integrado al que al día de este post tampoco le he prestado atención para ponerlo funcionar... Todo lo demás, incluyendo el bluetooth, audio y cámara integrada están de maravilla.

Eso confirmó mi teoría que el soporte de hardware en Linux es cada vez mejor y que hoy en día eso de compilar e instalar drivers está pasando de moda... De ser un trabajo meramente por motivos de aprendizaje y no de necesidad.

Un barrido por los repositorios de Fedora me dejó impresionado. De todo lo que uso, absolutamente todo está disponible para la arquitectura y no me he quedado varado por nada. Eso sí, instalé por error un repositorio de 32bits... Todo el software de allí instalaba correctamente pero no funcionaba, hasta que caí en cuenta en mi error de principiante y realicé las correcciones pertinentes: Bastó con desinstalar el software problemático, cambiar un i386 por x86_64 en el archivo del repositorio, instalar de nuevo y ¡Todo de maravilla! Así que un consejo es fijarte siempre que lo que instales tenga la arquitectura x86_64 o bien "noarch" como se ve en la imagen:


No tengo ninguna clase de medida científica para afirmar que en tareas cotidianas el rendimiento sea efectivamente superior, al fin y al cabo un computador nuevo (Sea cual sea) siempre parece que vuela... Pero algo si me sigue dejando triste con el pingüino: El rendimiento de la batería. Gnome 3 tiene una herramienta de configuración energética absolutamente paupérrima, mejor dicho, de eso a nada, creo que es mejor nada; KDE por otra parte, tiene el sueño de todo portátil, se puede configurar absolutamente todo, creando perfiles, ajustes personalizados, desactivar efectos ¡Todo!

Pero el problema no es en sí el administrador de energía sino el mismo kernel Linux. Se ha vuelto un goloso de la energía y a pesar de lo avanzado o pobre del gestor de energía, de desactivar funciones innecesarias e incluso de usar herramientas avanzadas como PowerTop las mejoras no son muy alentadoras.

Me preocupa, porque una batería capacitada para durar unas 3 horas en Windows, escasamente llegue con esfuerzo a las 2 horas (Y esto es independiente de si es 32 o 64bits) en Linux y en usuarios con alta movilidad esa sí que puede ser una buena razón para quedarse con el sistema operativo de Redmond. Espero que los desarrolladores lo solucionen pronto o bien provean una herramienta que permita ajustar estos parámetros más efectivamente.

En conclusión, los 64 bits en Linux ya son tan transparentes como lo son para los usuarios de Windows: Poca o nula dificultad con el hardware, abundante software listo para instalar aunque una que otra dependencia nueva necesaria, y la compatibilidad y confiabilidad a la que estamos acostumbrados.

¿Y ustedes? ¿Ya dieron el gran salto? ¡Los comentarios estás abiertos!

--
[1] X86_64

14 comentarios:

  1. yo intente instalar fedora 16 de 64 bits pero no pude :( creo que mi procesador no sirvió es un amd turion x2, aunque por lo que veo esta echo para x64, asi que de tanto pensarlo me quede con opensuse 12.1 de 32b

    ResponderEliminar
    Respuestas
    1. Efectivamente, tu procesador puede soportar juegos de instrucciones de 64 bits, pero si tu tarjeta madre no las soporta estos quedan automáticamente "Capados".

      Seguro pronto tendrás una oportunidad de dar el salto. Gracias por tu comentario!

      Eliminar
    2. Este comentario ha sido eliminado por el autor.

      Eliminar
    3. (jorle de faltas ortograficas...xD)
      yo tambien trate de hacer el salto con un Turion 64 x2
      y se queda bastante corto a 64bits, en Fedora era pasable pero en Güindous XP y 7 de 64 Bits era para sufrir.

      Actualmente estoy en un Core i3 (ya que tristemente AMD se dejo cojer la delantera de Intel, y su soporte para Linux, realmente APESTA, los Athlon no tienen siquiera thermal trottling) y pues hasta donde se todos los los de la serie Core son x86_64 pero con 2GB de ram no estoy muy segura de dar el salto a 64 Bits.
      asi que lo dejare para la 17

      PD: yo soy de KDE de toda la vida. desde la version 2 y el maguito ese

      Eliminar
  2. Muy interesante su análisis. Personalmente, aún no me animo a dar el brinco a 64 bits. Creo que lo haré para 2013. Lo que si voy a tener en cuenta para el cambio seguramente será instalar Fedora con escritorio KDE; Gnome3 no lo soporto.

    ResponderEliminar
    Respuestas
    1. También iba a instalar KDE (Además que ya tengo poder de sobra para correrlo) pero por alguna razón el spin de KDE de Fedora no funcionó.

      Actualmente uso Cinnamon... Mucho mejor que Gnome ciertamente. Muchas gracias por el comentario.

      Eliminar
  3. Como conversamos por twitter, daré el salto en Fedora 17, he tenido bastantes problemas con las actualizaciones del Kernel-PAE en la versión 16 y gnome 3.2.x

    Bueno leer que no cambio mucho desde tu salto al 64bits, siempre recordare en esos años cuando instale Windows 2000 de 64 bits y no me funciono nada jajaja que años aquellos.

    ResponderEliminar
    Respuestas
    1. Yo no he tenido problemas, lo único es que algunas actualizaciones de kernel "Rompían" mi WiFi, pero ahora tengo cuidado de revisar las actualizaciones y no permitirlas hasta que vea que el driver de Broadcom ya tenga tambiém la actualización.

      Dijiste Windows 2000 de 64 bits y me acordé fue de la pantalla blanca de Windows ME. ¡Eso sí me dio escalofríos! Muchas gracias por tu comentario!

      Eliminar
  4. Muy buen artículo, yo aunque he migrado de Fedora (pues ya no es mi distro principal) a Mint sigo siguiendo sus progresos porque fue de las primeras que use cuando me pase a Linux y la que no me dio ningun problema, sin mencionar que en sus repositorios tienes prácticamente todo lo que puedas llegar a necesitar. El tema de la duración de la batería lo he oído mucho, pero supongo que sera tema de los nuevos Kernel, yo usando alguna versión del 2.6 me da para 3:30 o 4 horas perfectamente, de igual manera existe una utilidad que funciona como applet llamada Jupiter a la cual tal vez quieras darle un viztazo.

    ResponderEliminar
    Respuestas
    1. Hola David, si fue precisamente en una de las series del kernel 2.6 (Creo que la .28) en que se echó a perder el rendimiento de la batería. ¿Jupiter? Vale, le echaré un vistazo y muchas gracias por tu comentario.

      Eliminar
  5. Este comentario ha sido eliminado por el autor.

    ResponderEliminar