Una de las grandes cualidades de Linux, el kernel, desde su creación es que ofrecía, unido a las herramientas del GNU Project, un sistema operativo robusto, estable y sobre todo ligero. Características que eran ventajas reales y objetivas con relación a Windows, el sistema mayoritario. Linux aprovechaba excelentemente toda la potencia del hardware por lo cual era ideal para PC con pocos recursos.
Sin embargo, a medida que Linux se ha ido popularizando como PC de escritorio (desktop) uno de los componentes más importantes del sistema operativo ha ido creciendo progresivamente: el kernel.
Durante una mesa redonda durante el LinuxCon realizado en Portland, EEUU James Bottomley, ingeniero de Novell y moderador del evento, citó un estudio de Intel que concluía que:
Cita:
| "...el desempeño general de Linux disminuye un 2% por cada actualización del kernel; en los últimos 10 años su velocidad ha disminuído un 12%." |
¿Es esto un problema? preguntó Bottomley.
Cita:
| "Estamos haciéndonos grandes y pesados y sí, es un problema." |
Fue la franca respuesta de Tolvands.
Más preocupante fue cuando se preguntó si existía algún plan para revertir esta situación:
Cita:
Me encantaría decir que tenemos un plan, es decir, a veces es triste que ya no somos ese pequeño y super eficiente sistema operativo que imaginé hace 15 años, el kernel es demasiado pesado y cada vez que agregamos una nueva característica, es peor (…) Aunque siento que la estabilidad no es un problema; estamos encontrando bugs muy rápido. |
Bottomley entonces insistió si eso significaba tal situación era aceptable en las condiciones actuales.
Cita:
| "Aceptable y evitables son dos cosas distintas. Es inaceptable, pero también es probablemente inevitable." |
¿Qué conclusiones podemos sacar de estas declaraciones?
- Mirando en retrospectiva, la primera conclusión es que si bien entre los técnicos Windows siempre ha tenido una mala reputación por considerársele un sistema inflado y pesado, venimos a constatar que Linux tampoco escapará a la lógica del crecimiento de un sistema operativo que intenta llegar a todos los hogares y busca ser compatible con las nuevas tecnologías. Aparentemente en los próximos años seguiremos viendo que Linux se pone cada vez más lento y que progresivamente requiere más recursos para funcionar adecuadamente.
- En segundo lugar, mientras el usuario de Linux era un grupo reducido de técnicos que daban prioridad a la seguridad y el rendimiento el kernel respondía a tales criterios de desarrollo. Ahora, que el perfil del usuario ha cambiado el desarrollo del kernel ha sufrido las consecuencias. La prioridad es la compatibilidad y como tal se vienen realizando adiciones al kernel, es decir, más líneas de código lo que significa un kernel más grande y más lento como se comenta. ¿Inevitable? En las palabras de Torvalds, aparentemente sí.
- En tercer lugar, Linux sigue siendo una gran alternativa con relación a Windows y su eficiencia todavía aventaja significativamente al sistema mayoritario. Pero algunos paradigmas que aceptábamos como verdades incuestionables cambiarán en los próximos años, porque hoy en día ya evidencia grietas en sus bases.
Para abundar en el tema, no hace mucho se comentaba que Linux incorporaría compatibilidad para USB 3.0 cuando ni siquiera existen dispositivos que lo utilicen o todavía se encuentran en fase de experimentación. ¿Otra evidencia de falta de un plan de desarrollo? ¿O sólo lo hacen para poder anunciar que "fuimos los primeros en dar soporte para USB 3.0"?
Finalmente, a partir de las declaraciones de Linus Torvalds ha resurgido la discusión si en un futuro cercano deberemos reemplazar
el kernel monolítico que predomina en los sistemas operativos actuales por un
microkernel. Pero el proyecto GNU tiene años (desde 1990) trabajando en un microkernel (Hurd) pero existe la sensación de que no avanza y hasta ciertas derivaciones (Hurd NG) han sido abandonadas.
Mientras que en la otra orilla Microsoft también ha realizado algunos avances interesantes en el tema del microkernel, de hecho, hoy en día Windows utiliza un kernel híbrido (características de microkernel y kernel monolítico. Además, está trabajando en proyectos relacionados como
Singularity y
Midori.
Fuente (en inglés)