jueves, 11 de agosto de 2011

El Kernel de Linux sobrepasa las 10 millones de líneas de códig


El Kernel de Linux crece como la espuma a medida que a cada versión aplican nuevos parches y soportes para nuevos dispositivos. A día de hoy con el actual kernel 2.6.27 ya sobrepasa las 10 millones de líneas contando espacios en blanco, comentarios y ficheros de texto.

Linux Kernel
Si hacemos un análisis más exhaustivo del kernel y de su contenido, existe una utilidad llamada SLOCCount (Source Line of Code Count) desarrollada por David Wheeler (podeis ver más información acerca de la herramienta en su site), que permite analizar el kernel y las líneas que lo forman filtrando comentarios, ficheros de texto y espacios en blanco. Tras el análisis, SLOCCount encuentra 6.399.191 líneas de código, una magnitud nada desdeñable pese al filtrado.
Entre algunos datos relevantes del estudio del Kernel de Linux encontramos que:
  • el 96,39% del kernel es ANSI C
  • el 3,32% es ensamblador
En este aspecto surgen varias vertientes críticas con la evolución del Kernel de Linux argumentando que un Kernel de ese tamaño y importancia debería ser modular facilitando la interacción entre los cientos de desarrolladores del Kernel de Linux que coexisten a día de hoy. Josselin Mouette, desarrollador de Debian muy crítico con el modelo de API constantemente inestable que han adoptado para el desarrollo del Kernel, comenta que este esquema requiere que el desarrollo del Kernel implique tener 10 veces más desarrolladores que otros proyectos con el mismo número de líneas.
Otro aspecto importante en la disección del Kernel de Linux es el tipo de código desarrollado, es decir, la porción de código destinado a tal y otro efecto:

Kernel Tipos