Al menos eso es lo que piensa el creador del pingüino. Por la red a estado rondando mucho las palabras de Linus: «El kernel está enorme e inflado». La mitad de la blogósfera ya a hablado de ello. Lo sorprendente es que las reacciones no sólo no tardaron, sino que una de las mejores viene del propio CEO de Red Hat, Jim Whitehurst, quien en pocas palabras dice que el hecho de las nuevas características del kernel, en efecto lo han hecho más grande, pero es así porque los usuarios utilizan esas características.
Según Torvalds el rendimiento del kernel decae en un 2% a cada lanzamiento, ya no es el pequeño kernel super velóz de hace quince años. Tal decaimiento puede verse desde dos puntos de vista, y creo que tanto Torvalds como Jim tiene su parte de razón en el asunto.
En Europa, Japón, EUA, entre otros países con mucha plata y tecnología tal decaimiento en el rendimiento en realidad no es muy importante. Si lo piensan, las personas que viven en estos países tienen acceso a computadores con procesadores de cuatro núcleos, una barbaridad de RAM (sobre los 3GB), múltiples tarjetas de vídeo, y una cantidad muy cómoda de espacio en disco duro. Para estos usuarios, si usan Linux, ¿realmente importa ese decaimiento de 2% por lanzamiento en el rendimiento del kernel?.
Yo tengo un equipo modesto, con procesador AMD TUrion64 X2 a 1.6Ghz, 2GB de RAM, y la versión del kernel que corre mi sistema es la 2.6.29. ¿cuanto tarda en cargar el sistema?. ¡Menos de 40 segundos!. Y eso que incluye el tiempo en levantar Gnome y otros servicios. ¿Cuánto tarda en levantarse en un equipo con mejores características?, equipos que no son tan caros y ofrecen un muy buen rendimiento.
Hasta allí no hay problema, desde mi punto de vista, cualquier equipo con 1GB de RAM y un procesador de doble núcleo, sea cual sea, se defiende muy bien cargando las últimas versiones del kernel. Por lo tanto, en estos equipos, el decaimiento del rendimiento del kernel es relativo debido a la mayor potencia de su hardware. Primer Conclusión: Jim tiene razón.
Pero resulta que la mayoría no tiene equipos nuevos con procesadores de dos o más núcleos, y con RAM suficiente para tener mil programas corriendo al tiempo. Tengo otros dos equipos, ya con sus años encima. Uno es un P4 a 1.6Ghz y 512MB de RAM, corre un kernel 2.6.26. EL tiempo en levantar el sistema es de unos… sí, 40 segundos. Pero levantar el sistema y ofrecer servicios son dos cosas distintas.
El viejo P4 tarda mucho en lanzar programas, y trabajar con FireFox puede llegar a ser bastante tedioso, a tal nivel que para poder aprovechar al máximo el viejo P4 hay que pasarse horas, sino días, trabajando en optimización de recursos, quitando cosas, e incluso compilando a manito el kernel. Y aun así, se siente mucho la diferencia entre aquellas distribuciones con un kernel 2.4.X y las de hoy.
Un tercer equipo que poseo es un Celeron de 1.8Ghz y 128MB de RAM. Hace varios años uilizaba Knoppix 3.4 (no recuerdo la versión del kernel que traía, ¿me ayudáis?) para arrancar el equipo y travesear un rato. El software de la época iba bastante bien, utilizaba amarok para escuchar música, y kaffeine para ver vídeos, el Wine casi nunca funcionaba, el Open Office era bastante feo, y daba mis pasos programando cosas pequeñas en C++ y compilando desde consola. El rendimiento, desde un Live-CD era bastante bueno, y al comparar con el software de hoy es cuando se siente la gran diferencia de aquel viejo software con el nuevo.
Claro está, en aquella época tampoco tenía las mil y un nuevas funcionalidades con las que cuenta hoy el sistema. Se vuelve algo así como una paradoja, y es que obviamente, a mayor cantidad de funcionalidades, mayor cantidad de procesos, y mayor tiempo para realizar los mismos. Es donde más pesa lo que dice Torvalds. Segunda Conclusión: Linus tiene razón.
Entonces hay que ver dos caminos, uno en el que el decaimiento del rendimiento del kernel no importa, porque el hardware puede con ello, y otro en el que importa mucho, porque el hardware es limitado. ¿Pero imagináis tener que llevar dos desarrollos de kernel?. Cierto es que hay muchas optimizaciones, y que equipos viejos funcionan muy bien con un sistema GNU/Linux. Pero siempre requiere mucho trabajo de optimización. Hay distribuciones pensadas para equipos viejos, como puppy o DSL, pero la verdad… ¿le pondrías una distribución como esa a tu abuela?. Mi madre trabaja bastante cómoda con un Debian y LXDE como escritorio, siempre y cuando no pase de la ofimática y el solitario. ¿Pero le vas a poner un crudo fluxbox a tu ex-maestra de primaria para que le enseñe linux a tu sobrino? ¡y en la misma PC que usaste cuando tenías once años!. Hay que ver que en realidad eso no es factible. Digan lo que digan, distribuciones como puppy y DSL son para Geeks y no para usuarios comunes que no quieren comprar equipo nuevo pero si tener lo último en software.
No hace mucho instalé un Debian con LXDE en un viejo PII a 266Mhz y 64MB de RAM. Sí, se puede trabajar con el viejo PC, pero la velocidad es un dolor de cabeza, y aunque tarda una babosada en iniciar el sistema, trabajar dentro del mismo es otra cosa.
El rendimiento del kernel, y de las aplicaciones que corren sobre este, es muy importante, en especial en países de Latinoamérica y África, donde un ordenador viejo aun podría dar mucha tarea. A veces hay que ir a modo de ensayo y error, probado que distribución va más rápido en qué equipo, y es que no sólo el kernel está volviéndose pesado, todo el sistema GNU/Linux en si lo está haciendo, y me parece que muchas veces el rendimiento se ve disminuido por propia comodidad de los programadores, quienes en muchas ocasiones tienen potente hardware, y no les toca programar como a mi, con un viejo P4 y 256MB de RAM. ¿Debian y LXDE?, sí, eso funciona durante un rato, pero no es suficiente, necesitamos que tanto el kernel como las aplicaciones se optimizen un poco más, que puedan correr en hardware viejo, y que la apariencia gráfica se mire moderna, de otra manera seguimos estancados, y de hecho, como lo dice IBM, «Perseguir a windows es un callejón sin salida».
GNU/Linux es un gran sistema en conjunto, para cierto hardware cualquier distribución está bien, funcionará de maravilla, pero para otro hardware, como al que tengo acceso mayoritariamente, llego a una tercer conclusión: No sólo el kernel Linux debe perder peso, el sistema GNU/Linux también debe hacerlo.
Fuentes:
¿Vosotros creéis que Linux está enorme e inflado?.