Para comenzar, se debe dar a entender que un sistema operativo con base al kernel Linux se divide en tres partes fundamentales e imprescindibles para que pueda ser funcional en una computadora:
- Kernel: Es el núcleo de todo tipo de sistema operativo, siendo el código que logra que se tenga a disposición el resto del sistema para el usuario así como tener un control del hardware de la computadora, su gestión al igual que su administración.
- Shell: Este proporciona varios comandos para que se establezca una comunicación entre el usuario y el núcleo o kernel del sistema. Con lo cual se logra que el usuario mande los comandos que el guste por este medio, y este lo hará llegar al kernel para que sean procesados, con lo cual puede realizar operaciones como el acceder a los archivos en la computadora o a los dispositivos externos conectados a esta.
- Software o Herramientas de Base: Proveen al sistema operativo su funcionalidad para que este le pueda ser funcional al usuario. Aquí se encuentran las herramientas de desarrollo para la programación, las herramientas de edición (editores de texto con los cuales se pueden crear nuevos archivos de texto o los archivos de código fuente de los programas), las herramientas de configuración y administración del sistema (permiten configurar el arranque del sistema, manipular el sistema de archivos, realizar los procesos de mantenimiento del sistema, entre muchas otras funciones).
Ahora bien, al combinar estas tres partes fundamentales se obtiene el sistema operativo funcional, el cual es en realidad llamado "distribución", siendo una recopilación de paquetes y aplicaciones. Siendo una de las funciones principales el permitir que todo el sistema operativo se pueda ejecutar en una computadora dada sin problema alguno. Gracias a la gran cantidad de paquetes y aplicaciones que se han creado con el pasar de los años, han permitido que se pueda instalar aplicaciones distintas desarrolladas para cada tipo de distribución, y una computadora tiene acceso a todos estos generalmente de manera gratuita. Y así, permiten que el sistema pueda ser utilizado para:
- Permite gestionar la memoria y de esta manera previene que un programa pueda bloquear el equipo.
- Acepta la carga de librerías dinámicas.
- Se pueden ejecutar programas dentro de un contexto de memoria virtual con lo cual se pueden ejecutar programas más "pesados" o que requieren más memoria que la presente en la computadora.
- Puede trabajar con todos los protocolos de red más usados en la actualidad.
Estas funciones siendo de las más importantes para un sistema operativo o "distribución" con base al kernel Linux, o como son mas conocidos, simplemente como Sistemas Operativos Linux, el cual es un nombre incorrecto ya que Linux es solo el núcleo, mientras que GNU provee muchas de las funciones al sistema.
Diferentes tipos de distribuciones GNU/Linux.

