Linus prefiere la arquitectura x86 sobre la ARM

linus-torvalds

En una charla con motivo de la Linaro Conference, Linus Torvalds fue entrevistado por David Rusling (Linaro). Y entre las preguntas se coló, la relativa a cual es su arquitectura favorita de ordenador. La respuesta no te sorprenderá.

O quizás si, teniendo en cuenta el escenario, –Linaro es una de las asociaciones que más hacen por facilitar la compatibilidad de Linux con la familia de procesadores ARM–, pero como es habitual en Linus, la sinceridad se impuso sobre la diplomacia a la hora de realizar su análisis.

Es una cuestión muy obvia, X86 es todavía la favorita de la mayoría y la razón es el PC. No se debe a la arquitectura sino a la infraestructura, la cual es abierta y lo es en un modo que ninguna otra arquitectura.

Resulta que el set de instrucciones y el núcleo de la CPU no son muy importantes. Son esas grandes diferencias en las que la gente suelen fijarse pero que en realidad no importan demasiado. Lo que importa es la infraestructura construida alrededor del conjunto de instrucciones y ahora x86 tiene esa infraestructura y la tiene a diferentes niveles de forma maravillosa.

ARM como plataforma de hardware todavía no es muy agradable de manejar…ello es debido a que no tiene el mismo tipo de modelo unificado alrededor del conjunto de instrucciones que tenemos en el espacio de la PC. Cada vez ARM va mejor, pero todavía el tema de la compatibilidad no está entre sus prioridades, ofreciendo un mercado de hardware muy fragmentado.

Y recuerda una historia de juventud, que tiene como protagonista al microprocesador de ocho bits MOS 6502:

Mi historia personal de decepción con ARM, tiene como trasfondo la 6502. Esa fue mi primera CPU que yo programé en código máquina, no en lenguaje ensamblador. Estaba encantado con ella.

Quise actualizar a Acorn Archimedes –ordenador que daría a ARM su nombre–, el cual compartía unas instrucciones de segmentación similares y era la máquina de mis sueños pero no pude comprarla…Finlandia no era el centro del universo entonces.

Fue una situación donde cometí el error de ir por una odiosa computadora británica, Sinclair QL, que fue un fracaso todavía superior.

Lo que se deriva de las declaraciones de Linus, es la dificultad de hacer código con lenguajes de bajo nivel, capaz de funcionar entre diferentes dispositivos ARM.

La increíble versatilidad y opciones en cuanto a hardware propiciado por el internet de las cosas y el mundo de los móviles, donde ARM es el rey –entre otros motivos por cuestiones de eficiencia— , tiene una contrapartida negativa: una falta de estándares entre los fabricantes, especialmente en lo que se refiere a la integración de componentes periféricos mediante SoC (system on chip) e interfaces intermedias.

Toda esa fragmentación de hardware está claro que no le pone las cosas sencillas a los desarrolladores del Kernel.

Con todo, la situación de la arquitectura x86 dominada por Intel y AMD, tampoco es la ideal, demasiados blobs binarios en el firmware de los que solo podemos sospechar lo que hacen. Cuando no, la introducción de nuevas características que dificultan la libertad de elección de los usuarios (véase el caso del Lenovo Yoga, que os comenté hace poco).

Como dice Torvalds (medio en broma, medio en serio):

That’s my opinion and I’m always right

Sangre joven en el kernel

linux-1994

La charla con Linus dio para bastante más. Una pregunta que me llamó la atención fue sobre los planes de incluir sangre joven en el desarrollo del kernel, ahora que la mayoría de los mantenedores de subsistemas se están haciendo “viejos”.

El bueno de Linus reivindica el modelo comunitario del kernel, donde en cada nueva versión colaboran alrededor de un millar de personas.

Desarrolladores “más antiguos” siguen trabajando en el kernel entre otras cosas porque es lo que les apasiona. Un equipo, que como el buen vino mejora con la edad, por lo menos en cuanto a conocimientos.

Mientras tanto en cada nueva versión se van incorporando nuevos desarrolladores. La mayoría de las veces con pequeños cambios, algunos incluso triviales.

Lo suficiente en algunos casos para involucrarse y figurar al cabo de unas cuantas ediciones, entre los principales contribuidores al desarrollo de Linux.

Si os apetece ver la entrevista completa a Linus Torvalds, la tenéis en este vídeo:

Imagen | Linus Torvalds (Google+)

4 thoughts on “Linus prefiere la arquitectura x86 sobre la ARM”

  1. Sergio Schiappapietra says:

    Genio Linus.

  2. BlueSkull says:

    Torvalds puede decir lo que quiera, pero la arquitectura ARM a dia de hoy es el futuro.

    x86 y amd64 se ha convertido en una atrocidad, no es limpio, no es elegante, no tiene la versatilidad del ensamblador de ARM.

    No se cuantos habeis programado a bajo nivel tanto en x86 como en ARM, pero os adelanto que no hay punto de comparacion, el ensamblador de ARM esta tan bien pensado que te sorprende dia a dia cuando consigues hacer muchas veces el mismo codigo que en C en muchisimas menos lineas…

    De hecho estoy convencido que la supremacia de Intel, a dia de hoy esta mas amenazada de lo que ha estado nunca, no hablamos ya solo de una simplicidad de disenio que jamas podria aspirar intel, sino que ademas intel tiene que arrastrar una compatibilidad que es ridicula, haciendo que engorden los micros de una forma feroz.

    Para colmo la escalabilidad de los ARM es brutal, puedes meter 100 cores y te quedas tan pancho, algo que los x86 no llevan tan bien, al ser un disenio horrible no solo se disparan consumos, sino tambien el calor a disipar.

    Ademas, el concepto de PC se difumina cada vez mas, hay que reconocer que la industria informatica ha madurado muchisimo, ya no se programa en monoplataforma, hace bastante que cualquier productora de software desarrolla teniendo en cuenta que puedan portar facilmente, asi que cada vez estamos menos atados a un entorno fijo.

    Por poner ejemplos, que Adobe se resista a lanzar soft para linux no tiene ninguna base tecnica, es solo una cuestio politica, costes de mantenimiento, etc…, lo mismo pasa respecto a hacerlo en x86 o en ARM, basta con recompilar y reescribir igual un 5% del codigo, la base del problema no es tecnico, es igualmente politico.

    En mi opinion, hariamos MUY BIEN en abrir la via del ARM en los PCs, su eficiencia es clara, y las mejoras tambien, ademas seria un soplo de aire fresco.

    Muchos piensan que hay que mantener a toda costa la compatibilidad con lo antiguo, yo tengo otra opinion, creo que hay que limpiar el pasado con mas frecuencia, arrastrar durante decadas disenios obsoletos no es bueno para nadie, ni siquiera para el propio usuario, pero ese es un debate muy largo que de hecho me gustaria que se tomase en cuenta algun dia, quizas aqui seria el foro ideal para ello.

    1. Intertextualidad says:

      Espero el dìa en que pueda ensamblarme un “PC” eligiendo placa madre y CPU de tipo ARM (se rumoreó al año pasado que AMD estaba trabajando en algo así). Mientras tanto tenemos Raspberry PI.

      1. BlueSkull says:

        Ya existen, hay 2 placas madre, ahora no recuerdo como se llaman, pero si que salieron.

Deja un comentario