Cada vez que escucho hablar del Kernel de Linux, varias preguntas rondan en mi cabeza constantemente, llegando en algún que otro momento a taladrarme el cerebro: ¿qué es un Kernel? ¿qué relación tiene con Linux? ¿qué es conjuntamente el Kernel de Linux? Y… ¿por qué se llama Kernel? Para los que no tenemos una formación de informática oficial (aunque sepamos bastante de modo autodidacta), esa palabra (Kernel) siempre ha sido cuanto menos cautivadora por su halo de misterio en relación a su significado. Ese halo de misterio espero sea resuelto en esta entrada y que podáis disfrutar tanto como yo de una comprensión sencilla del mismo.
Quiero leer...
¿Qué es un Kernel en un contexto informático? Hardware, Software y Sistemas Operativos
Esta es la primera pregunta que debemos hacernos. El Kernel es el núcleo de un ordenador. Pero no os vayáis todavía, que os lo explico más en detalle a continuación.
En un ordenador se pueden distinguir dos partes principales: hardware (la parte física) y software (los programas informáticos). Los sistemas operativos no son otra cosa que un programa informático que facilita la interacción entre hardware y software. Pero no son estrictamente necesarios para que funcione un ordenador. Pero estamos hablando del Kernel… ¿qué es? El Kernel (o núcleo) es una parte fundamental de cualquier sistema operativo.
¿Qué funciones desarrolla un Kernel en un sistema operativo?
Tiene varias funciones imprescindibles (de ahí que sea un núcleo). A continuación vamos a enumerar unas pocas:
- Facilitar a los distintos programas el acceso al hardware.
- Gestionar los recursos del ordenador o computadora.
- Gestionar el acceso al hardware por parte de los distintos programas informáticos.
- Gestionar directamente el hardware, como la memoria, procesador, periféricos, formas de almacenamiento, etc.
- etc.
Por lo tanto, una interfaz gráfica de usuario amigable y sencilla de usar por cualquier persona más un Kernel que facilite la comunicación entre los programas de la interfaz y el hardware es lo que conforma un sistema operativo.
¿Qué es el Kernel de Linux?
El Kernel de Linux no es otra cosa que el núcleo del sistema operativo GNU/Linux. Fijaros en cómo se llama el sistema operativo: GNU/Linux. Esto es así porque realmente Linux es el Kernel del sistema operativo y GNU son las aplicaciones que necesitan del Kernel para interaccionar con el hardware.
¿Existen más de un tipo de Kernel Linux?
Sí. Debido a que el Kernel oficial de Linux incluye algunos programas de código cerrado (esto es, no libres), ha aparecido una variante del mismo que lo elimina, garantizando que absolutamente todo el núcleo sea libre con licencia GPL. Este es el caso del Kernel Linux-libre. Pero este tema lo dejo para otra entrada.
Y una última pregunta… ¿por qué se llama Kernel al núcleo de un ordenador?
Hay una cierta disparidad de opiniones.
Por un lado están los que defienden que proviene del alemán Kern, que significa núcleo o semilla de un fruto.
Por otro lado, están los los partidarios de que proviene de la palabra Colonel, cuya pronunciación (/ˈkɜrnəl/), se parece bastante a Kernel.
Por último, los que defienden que su origen se encuentra en el inglés, que según se observa en libros de inglés moderno, Kernel ya se usaba con el significado de corazón de una nuez desde el siglo XVI.
Y para terminar unos vídeos sobre el Kernel de Linux…
En estos tres vídeos se da una breve introducción a la compilación del Kernel de Linux, configuración, parcheo e instalación en sistemas basados en Debian y Ubuntu. ¡Disfrútenlos!
Quiero modificar el Kernel que debo de saber antes de hacerlo?
Hola Will, te sugiero que escribas entonces a la Mailing list del Kernel oficial, http://vger.kernel.org/