Tabla de contenidos
El núcleo (kernel) es el "programa principal" de todo sistema operativo, a través de él se controla todo el sistema. El núcleo de Linux de tipo monolítico y esta basado en los núcleos de Unix.
Algunas características destacables son:
Multitarea y multihilo, es capaz de ejecutar varios proceso al mismo tiempo, en incluso varios hilos. Soportando varios procesadores.
El kernel y las aplicaciones corren en distintos espacios de trabajo. En el kernel mode se tiene acceso al hardware de la máquina e interrupciones, y en user mode, donde corren las aplicaciones, que tienen que acceder al hardware a través del kernel.
Gestión de memoria a través del núcleo y memoria virtual para ampliar la memoria física disponible mediante la utilización de parte de sistema de ficheros como memoria.
Soporte de librerías compartidas con las llamadas al sistema.
Portabilidad, Linux esta disponible en muchas plataformas, desde grandes ordenadores hasta pdas.
Podemos ver la versión de nuestro núcleo actual con:
[pcm@sal]#
uname -a
Linux merc 2.4.24-20040430 #1 SMP Fri Apr 30 21:34:00 CEST 2004 i686 GNU/Linux
[pcm@sal]#
En 1991 Linus Torvalds publicó en unas news de minix un nuevo kernel muy básico para procesadores Intel 386 y 486. Utilizando el compilador de C de GNU gcc y portando la shell bash.
La gente aportó código a ese núcleo inicial y así se fue ampliando y soportando más hardware. Se adoptó la licencia GNU GPL.
En el 1992 se creo ya su propio foro y se porto las X11. En 1994 apareció la versión 1.0. La versión 2 se comenzó en el 1996.
La versión 2.2 comenzó en 1999 con 1.800.847 de lineas de código.
La versión 2.4 comenzó en 2001 con 3.377.902 de lineas de código.
La versión 2.6 comenzó en 2003 con 5.929.913 de lineas de código.
La versiones impares (1.1, 2.3 o 2.5) son versiones de desarrollo, no son estables.