Grande no significa lento

No, no he hecho el artículo por la foto.

Me he hartado de leer por ahí, en referencia a las últimas declaraciones de Linus Torvalds, cosas como "Linus Torvalds considera que Linux es grande, lento y pesado" (Alt1040) y "Linus calls Linux 'bloated and huge'" (The Register). Siendo el "bloated and huge" (sobredimensionado y enorme) reinterpretado como "grande, lento y pesado", siendo el "lento" una licencia gratuita tomada por muchos, gracias a la inventiva de Eduardo Arcos (en su extraña percepción de la lengua de Shakespeare), reproducida hasta la saciedad en el espectáculo endogámico que es la blogosfera de habla hispana.

En ningún momento se ha dicho nada respecto al desempeño o rendimiento, solo se ha llamado grande (en cuanto a líneas de código, algo importante cuando el núcleo se carga en la RAM). Suerte que Jim Whitehurst, jefe ejecutivo de Red Hat, ha aportado algo de cordura al asunto alegando que si bien es cierto que se ha crecido en tamaño, ha sido para implementar tecnologías útiles, "El CEO de Red Hat en contra de las declaraciones de Linus Torvalds" (Alt1040) (gracias Axel Marazzi por aportar algo objetividad), cuyos ecos y comentarios vuelven a reinterpretar la noticia en cuanto a acabar otra vez en la discusión sobre velocidad o rapidez, espacio recorrido relativo al tiempo transcurrido, como si de un elemento físico se tratase, en vez de ser algo imponderable en términos absolutos, completamente relativo a la percepción del usuario: No puedes soltar el núcleo en la calle, y decirle de hacer una carrera cronómetro en mano.

Sobredimensionado no significa lento. Grande no significa lento. Y el término lento en estos casos es únicamente aceptable si lo interpretamos como "relativamente lento". Obviamente, linux era más ágil (la agilidad no es ponderable, y por tanto sigue siendo algo completamente relativo) cuando tenía menos líneas de código (doce mil en 1991), pero también es cierto que sigue siendo uno de los núcleos de sistema operativo mas rápidos (y versátiles) que existen.

Atendiendo a ese sobredimensionamiento, nos topamos con que la mayor parte de añadiciones del núcleo están destinados para ofrecder compatibilidad con distinto hardware (arquitecturas de procesador, tipos de memoria y demás) que si hace falta, se usa, y en caso contrario, pues entonces no se usa (aunque por algunas razones de flujo de ejecución y gestión de recursos, aparece alguna pérdida de rendimiento en casos muy puntuales imperceptibles por el usuario, dado que estamos hablando de un programa implementado en C, un lenguaje de medio-bajo nivel), o la inclusión del sistema de módulos del núcleo o LKMs, que nos permite cargar y descargar módulos, drivers, y otras funcionalidades del kernel, en caliente, sin ninguna necesidad de reiniciar la máquina, como si de un microkernel se tratase, evitando así, paradójicamente, engordar innecesariamente el núcleo (muchos drivers de vídeo se cargan como módulos de núcleo por ejemplo).

Volviendo a la discusión de "qué demonios significa lento", el poder cargar partes del núcleo a placer, como drivers, ahorrando el reiniciar, que un sistema GNU/Linux completo cargue en 10 segundos, la multitarea real (otros sistemas adolecen de una implementación realmente mala), la genial gestión de memoria, y no tener que estar instalando mil millones de instaladores de controladores necesarios (de los cuales muchos contienen "extras" realmente molestos), es para mí la auténtica velocidad que un núcleo puede tener.

Lo que sí es realmente cierto, y puede que, aunque puede que nunca lo sepamos con certeza, fuese esto a lo que este señor finlandés se refiriera desde un principio a que linux se ha vuelto un proyecto muy grande, complejo, y difícil de mantener (ya va por más de 12 millones de líneas de código), pero este gran problema surge en todo núcleo monolítico en algún momento de su desarrollo, y es la razón por la que la fundación GNU ha seguido adelante con HURD, un núcleo puramente modular erigido sobre un microkernel. Y no me refiero a que si leemos entre líneas podría parecer que, finalmente, Torvalds apoya a HURD, nada mas lejos de la realidad. Y no, tampoco se ha disparado en el pié con esa inocente afirmación. El tema se resume a que muchos supuestos "gurús" de la blogosfera se dedican a manipular la información en pos a no sé cuales obscuros propósitos. Un saludo a Eduardo Arcos (guiño, guiño).

Y por último, lejos de cualquier presuntuosa pretensión por mi parte de establecer reglas de estilos para todos esos redactores que se han hecho eco de la noticia, algunos siendo auténticos maestros del copia y pega, otros maestros de la síntesis y el resumen, pero ninguno maestro de la investigación o la traducción: por favor, mirad de vez en cuando las fuentes de las noticias (no seáis como los medios tradicionalistas), sé que el inglés es una barrera para muchos, pero si no estáis seguros sobre algo a lo mejor deberíais hacer mutis y no extender un bulo.

Nota: he tenido que emplear el esfuerzo extra de revisar la redacción para eliminar los ataques at hominem, las descalificaciones, y los irónicos dardos envenenados de siempre. Pido disculpas si se me ha escapado algo. A ver si puedo rebajar esa bilis que viene inundando el blog y de la que no me siento especialmente orgulloso.

Créditos

La frase

El castigo del embustero es no ser creído, aún cuando diga la verdad.
(Aristóteles)

0 comentarios:

Publicar un comentario