Linux es el mal usado nombre que los usuarios (me incluyo) normalmente le dan a el sistema operativo formado por el kernel Linux y las herramientas del proyecto GNU (aplicaciones, entornos, interpretes de comandos, etc.). Estos en conjunto proporcinan un sistema operativo libre y open source.
Pero ¿Qué es el kernel Linux?
Un kernel es la parte esencial de un sistema operativo que provee los servicios más básicos del sistema. Se encarga de gestionar los recursos como el acceso seguro al hardware de la computadora.
Se encarga también del multiplexado, determinando qué programa accederá a un determinado hardwaresi dos o más quieren usarlo al mismo tiempo.
El kernel también ofrece una serie de abstracciones del hardware para que los programadores no tengan que acceder directamente al hardware, proceso que puede ser complicado, Esta parte normalmente está programado en un lenguaje de bajo código y es lo que se comunica con el hardware, para la ejecución de tareas, ¿Que para que sirve?. Imaginense tener que compilar cualquier aplicación en lenguaje de ensamblador.
El kernel Linux comenzó en abril de 1991, cuando Linus Torvalds, de 21 años, empezó a trabajar en unas simples ideas para un núcleo de sistema operativo. Comenzó con un intento por obtener un núcleo de sistema operativo gratuito similar a Unix que funcionara con microprocesadores Intel 80386.
En septiembre de 1991 se lanzó la versión 0.01 de Linux. Tenía 10.239 líneas de código. En octubre de ese año, se lanzó la versión 0.02 de Linux; luego, en diciembre se lanzó la versión 0.11. Esta versión fue la primera en ser self-hosted (autoalbergada). Es decir, Linux 0.11 podía ser compilado por una computadora que ejecutase Linux 0.11, mientras que las versiones anteriores de Linux se compilaban usando otros sistemas operativos. Cuando lanzó la siguiente versión, Torvalds adoptó la GPL como su propio boceto de licencia, la cual no permitía su redistribución con otra licencia que no sea GPL.
La ultima versión estable del kernel disponible actualmente es la 3.0.4 y esperamos que se sigan desarrollando más.
¿Y qué hay de GNU? ¿Qué es eso?
El Proyecto GNU se inició en 1984 por Richard Stallman para desarrollar el sistema operativo GNU, un sistema operativo completo tipo Unix de software libre, un software que respeta su libertad.
Entre otros estos son algunos de los programas y herramientas de GNU que usamos en Linux:
- Bison – generador de analizadores sintácticos diseñado para sustituir a yacc
- Bash – intérprete de comandos
- BFD – archivos de bibliotecas
- Binutils – ensamblador GNU, enlazador GNU, y herramientas relacionadas
- Classpath – bibliotecas para Java
- DotGNU – sustituto de .NET
- Emacs – editor de texto extensible y autodocumentado
- GCC – compilador optimizado para varios lenguajes, particularmente C
- GDB – depurador de aplicaciones
- GNU Ghostscript – aplicaciones para PostScript y PDF3
- GIMP – programa de edición fotográfica
- Glibc – biblioteca para lenguaje C
- GMP – biblioteca para cálculos con precisión arbitraria
- GNOME – ambiente de escritorio gráfico
- Sistema de construcción para GNU
- GNUnet – red descentralizada de comunicaciones personales, diseñada para resistir interferencias no autorizadas
- GNUstep – implementación del conjunto de bibliotecas OpenStep, así como herramientas para programar aplicaciones gráficas
- GSL – biblioteca científica para GNU
- Gzip – aplicaciones y bibliotecas para compresión de datos
- Hurd – un micronúcleo y un conjunto de servidores que funcionan del mismo modo que el núcleo UNIX
- Maxima – un sistema para cálculos algebraicos
- Octave – un programa para cómputo numérico similar a MATLAB
- GNU MDK – un conjunto de herramientas para la programación en MIX
- Texinfo – sistema de documentación
- LilyPond – editor de partituras musicales.
- CVS – sistema de control de versiones para código fuente
- DDD – herramientas gráficas para detección y depuración de errores.
Si GNU busca hacer un sistema operativo ¿porque no crea su propio kernel?
De hecho lo tiene, desde hace tiempo se está desarrollando el kernel HURD (Hird of Unix-Remplacing Daemon) y aunque apenas está en fase de desarrollo, para fines del 2012 o principios del 2013, se espera el lanzamiento de Debian 7.0 Wheezy, cuya base será el kernel Hurd en vez de Linux.
He intentado descargar Linux y sólo encuentro Ubuntu
Como ya expliqué antes Linux es sólo el kernel y lo puedes descargar desde kernel.org pero a menos que seas un experto en esto de nada te servirá, para usarlo se necesitan programas, (las ya mencionadas herramientas del proyecto GNU), así que hay empresas y comunidades que nos facilitan el trabajo a los usuarios finales creando distribuciones de Linux con un kernel y determinadas herramientas, de estas la más conocida es ubuntu aunque hay muchas y puedes verlas en Distrowatch.com.
¿Puedo crear mi propia distro (distribución)?
Sí pero esto dará para otro post luego hablaré de esto