Spiga

Anatomía del núcleo de Linux

Una descripción sobre la historia y evolución, hasta el día de hoy, del Kernel de Linux de la mano M.Tim Jones (Ingeniero de Emulex Corp.).

El Kernel del Linux es la base de un sistema operativo grande y complejo, aunque se organiza bien en términos de subsistemas y capas.
En este articulo podemos leer lo siguiente:

.- Un breve viaje por la historia de Linux
Te habrás dado cuento que el sistema operativo Linux es llamado algunas veces “Linux” y otras “GNU/Linux.” La razón por la que sucede esto es por que Linux es el núcleo del sistema operativo. La amplia gama de los usos que hacen el sistema operativo útil es el software del GNU. Por ejemplo, el sistema ventanas, el recopilador, la variedad de shells, las herramientas de desarrollo, los editores de texto, las utilidades, y varias aplicaciones más que existen fuera del núcleo, muchos de los cuales son software de GNU. Por esta razón, muchos consideran “GNU/Linux” el nombre más apropiado para el sistema operativo, mientras que “Linux” seria el mas idóneo para referirse simplemente al núcleo.
En el siguiente gráfico se puede ver la evolución de Linux desde sus inicios hasta el día de hoy. Lineas de código según versiones.


.- Introducción al núcleo de Linux

En realidad, la arquitectura del núcleo no es tan simple como la qué se muestra en la siguiente imagen. Por ejemplo, el mecanismo por el cual el sistema se comunica entre los diferentes espacios (la transición desde el espacio de usuario al espacio del núcleo) puede diferir entre arquitecturas. Las nuevas unidades centrales de proceso x86 (CPU) que proporcionan soporte para las instrucciones de virtualización (ej: 1, 2, 3) son más eficientes en este proceso que procesadores x86 más antiguos que utilicen el método interno tradicional 80h.
A grandes rasgos se puede diferenciar entre el espacio de usuario y el núcleo, en un sistema GNU/Linux:



.- Subsistemas importantes del núcleo de Linux
Según vemos en la siguiente imagen, el núcleo realmente no es nada más que el encargado de administrar los recurso del sistema. Si el recurso que es manejado es un proceso, la memoria o un dispositivo del hardware, el núcleo maneja y arbitra el acceso al recurso entre los múltiples usuarios (entre el núcleo y el usuario).




Interesante articulo que podemos leer en su totalidad en la web de IBM.

Vía | Microzulo