Éste artículo lo escribí a raíz del artículo:

¿Es Mac OSX un sistema Unix?

Y en ése artículo mencioné que:

Linux no es un sistema operativo, es un kernel. Seguramente muchos se preguntarán:

¿Cuál es la diferencia entre un kernel y un sistema operativo?

Bueno pues, ésta es la diferencia.

Un kernel es el núcleo de un sistema operativo. En algunos sistemas, como en Mac OSX, el código fuente del kernel no se encuentra disponible libremente; y en otros sistemas como Linux, el código es abierto y puede ser libremente modificado.

El kernel es el programa que se encarga de interactuar a un nivel mas bajo con el hardware de tu computadora. En otras palabras, es el responsable de traducir todo lo que haces en tu computadora, en instrucciones que tu computadora pueda entender. Algunas de las responsabilidades del kernel son:

  1. Administración de la memoria
  2. Administración de las redes
  3. Administración de los drivers de tus dispositivos
  4. Administración de archivos
  5. Administración de procesos

Normalmente, Linux viene acompañado con herramientas GNU y al paquete completo se le conoce como GNU/Linux, y a éste paquete lo puedes encontrar en diferentes sabores y colores como CentOS, Fedora, Debian, Ubuntu, entre otros.

Ésos sistemas que mencione anteriormente son sistemas operativos que funcionan con el kernel de Linux.

Sin embargo, el kernel de Linux no siempre viene acompañado de las herramientas GNU, como es el caso de Android. Android utiliza Linux, PERO, no se parece en lo absoluto a Ubuntu, por ejemplo, que también utiliza Linux.