¿Qué es el núcleo de Linux?

¿Qué es el núcleo de Linux?

¿Qué es el núcleo de Linux?

VALORACIÓN DEL ARTÍCULO:
5/5


Para los usuarios ocasionales y los aficionados menos que duros, Linux es un sistema operativo. Para los puristas, sin embargo, el título «Linux» está reservado para el núcleo que alimenta el sistema operativo. Si tienes curiosidad por saber qué es el núcleo de Linux, respondamos a esa pregunta con la vista puesta en el nuevo usuario.

Índice de contenidos

Modos

Antes de explicar qué es un kernel, es importante entender los términos «modo usuario» y «modo kernel». El modo de usuario es cuando el código de ejecución no tiene la capacidad de acceder directamente al hardware o a la memoria de referencia. Para acceder al hardware y a la memoria, el código que se ejecuta en el modo de usuario debe delegar instrucciones a las interfaces de programación de aplicaciones (API) del sistema. El modo kernel es cuando el código de ejecución tiene acceso ilimitado a todo el hardware y está reservado para las funciones más fiables de un sistema operativo.

¿Qué es un núcleo?

Cada sistema operativo tiene un núcleo. Windows, macOS, iOS, Android, Chrome OS y Linux tienen cada uno un sistema de bajo nivel que se encarga de interconectar todas las aplicaciones con el hardware físico del ordenador. Sin el núcleo, ninguna de sus aplicaciones podría hacer uso del ordenador físico; aplicaciones como Firefox, Chrome, LibreOffice, MS Office o Outlook no funcionarían. El núcleo también es responsable de permitir que los procesos intercambien información utilizando lo que se denomina Comunicación entre Procesos (IPC).

Hay (generalmente hablando) tres tipos de núcleos:

  • Núcleos monolíticos : estos núcleos abarcan la CPU, la memoria, el IPC, los controladores de dispositivos, la gestión del sistema de archivos y las llamadas al servidor del sistema. También es responsable de transferir la memoria libre del sistema a las aplicaciones. Estos tipos de kernels son típicamente mejores para acceder al hardware y a la multitarea.
  • Microkernels : Los microkernels adoptan un enfoque minimalista y sólo gestionan la CPU, la memoria y el IPC.
  • Núcleos híbridos : Los núcleos híbridos tienen la capacidad de decidir qué quieren ejecutar en modo Usuario o en modo Kernel. Aunque esto proporciona lo mejor de ambos mundos, requiere mucho más de los fabricantes de hardware para crear controladores que sirvan de interfaz entre el código en ejecución y el hardware.

Linux utiliza un código abierto, el kernel monolítico, mientras que macOS y Windows utilizan kernels híbridos. El núcleo de Linux fue concebido en 1991 por Linus Torvalds. Hasta el día de hoy, el Sr. Torvalds sigue siendo el desarrollador líder en el núcleo de Linux, mientras que desarrolladores de todo el mundo contribuyen al núcleo de Linux. De hecho, se estima que casi 10.000 desarrolladores, de más de 1.000 empresas, han contribuido al núcleo de Linux (desde que se inició el seguimiento en 2005).

¿Dónde está el núcleo?

Si abre una ventana de terminal y ejecuta el comando ls /boot , verá un archivo llamado vmlinuz-VERSION (donde VERSION es el nombre o número de la versión). El archivo vmlinuz es el kernel de arranque de Linux, y la «z» indica que el kernel está comprimido; así que en lugar de vmlinux tenemos vmlinuz.

La lista del directorio /boot. La lista del directorio /boot.

Dentro de ese directorio /boot hay otros archivos importantes del núcleo, como initrd.img-VERSION, system.map-VERSION, y config-VERSION (donde VERSION es un nombre o un número de versión). Estos otros archivos sirven para los siguientes propósitos:

  • initrd : se usa como un pequeño disco RAM que extrae y ejecuta el archivo real del núcleo.
  • system.map : se utiliza para la gestión de la memoria, antes de la carga del núcleo.
  • config : indica al núcleo qué opciones y módulos cargar.

Módulos

Sin módulos, el núcleo no sería de mucha utilidad. Los módulos encienden eficazmente los controladores necesarios para comunicarse con el hardware sin consumir toda la memoria del sistema. Los módulos también añaden funcionalidad al kernel, como la comunicación con periféricos, la gestión de sistemas de ficheros, la seguridad, etc. Es posible listar, agregar y quitar módulos al kernel con los siguientes comandos:

  • lsmod listará todos los módulos del núcleo actualmente cargados.
  • insmod cargará un módulo del núcleo en el núcleo en ejecución.
  • rmmod descargará un módulo del núcleo en ejecución.

Como puede ver, con la ayuda de algunos comandos simples, el kernel de Linux puede ser bastante flexible.

El núcleo actual

Al momento de escribir esto, el núcleo estable de Linux es 4.18.5, pero no todas las distribuciones de Linux incluirán el último núcleo. De hecho, la distribución de escritorio actualizada del SO Elementary ejecuta el kernel 4.15.0-30. ¿Qué significa ese número? En el caso del último kernel en Elementary OS, significa:

  • 4 es la versión principal
  • 15 es la versión Minor
  • 0-30 es la revisión

También es posible descargar diferentes versiones del núcleo de Linux desde kernel.org y compilarlo usted mismo. La compilación del kernel de Linux es una tarea que es mejor dejar a aquellos que realmente saben lo que están haciendo. Un kernel mal compilado puede hacer que un sistema no arranque. Por lo tanto, a menos que esté listo para sumergirse en la desafiante tarea de compilar código en este nivel, utilice el kernel predeterminado que se envía y actualiza en la distribución de su elección.

TAMBIÉN TE INTERESA

Instagram-Creator-Marketplace

España, a la espera del Instagram Creator Marketplace

Instagram es una de las redes sociales de mayor impacto en la población española. Desde su irrupción, la figura del influencer ha crecido enormemente en el mundo del marketing y las marcas. La herramienta Instagram Creator Marketplace puede seguir fortaleciendo a estos prescriptores, visto el potencial que empieza a tener este servicio en Estados Unidos.

avatares-Roblox

Vámonos de shopping en Roblox: Mango inaugura su primera tienda

En dinámico mundo de los juegos online, Roblox (con más de 70 millones de usuarios activos diarios) se ha destacado como una plataforma que ofrece a los participantes una experiencia única y diversa. Una de las características más populares de Roblox es su sistema de personalización de avatares, que permite a los jugadores expresar su

Snapdragon-8-Gen-3

Snapdragon 8 Gen 3, el chip de Qualcomm que empujará la IA en los móviles

La IA ha llegado al universo de los smartphones. Los últimos lanzamientos ya se anuncian con la inteligencia como protagonista. De igual manera, las grandes actualizaciones de software vienen marcada por la presencia de nuevas funciones movidas bajo los parámetros de la inteligencia artificial generativa. Al margen de los desarrollos a nivel de software, es

Ecowatch-1-de-Maxcom

Con el Ecowatch 1 no tendrás excusas para pasarte a un reloj inteligente

Sabemos que es muy difícil convencer a un perfil de personas que reniegan de un smartwatch a comprarse un reloj inteligente y quitarse el de toda la vida. No obstante, vamos a intentarlo con el Ecowatch 1 de Maxcom.  Es tarea complicada porque el gusto por los relojes suele estar muy definido en ciertas personas.

simulador-de-bodas

¿Te casas? La IA y DeWeed pueden ayudarte en la planificación de tu boda

La planificación de una boda es un proceso emocionante pero a menudo abrumador. Desde la selección del lugar perfecto hasta la elección del vestido ideal, hay innumerables decisiones que tomar para que todo salga según lo planeado en el gran día. Tradicionalmente, esta tarea ha supuesto muchos quebraderos de cabeza para los novios. Una vez