¿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

Zoom AI Companion

Zoom afina su asistente inteligente: descubre todo lo que puede hacer AI Companion 2.0

En su más reciente apuesta por la integración de inteligencia artificial, Zoom ha lanzado AI Companion 2.0, la última versión de su asistente inteligente. Anunciada en el evento Zoomtopia y ahora disponible para los usuarios de la plataforma, esta actualización del asistente AI Companion llega con un conjunto de nuevas herramientas y capacidades avanzadas que

TicWatch Atlas

TicWatch Atlas se presenta como el reloj inteligente de los aventureros

Mobvoi, conocida por su línea de relojes inteligentes TicWatch, ha presentado su última incorporación: el TicWatch Atlas. Este nuevo modelo, diseñado para resistir en los entornos más hostiles, promete revolucionar el mercado de los relojes inteligentes orientados a la aventura. Con un diseño robusto y una serie de características avanzadas, el TicWatch Atlas apunta a

TucomunidApp

Tasación de casas con TucomunidApp: más allá de una venta

Cuando se habla de tasación de casas, la mayoría de las personas asocian automáticamente este proceso con la compraventa del inmueble. Sin embargo, contar con una valoración actualizada de una propiedad tiene múltiples ventajas que van mucho más allá de una simple transacción. Entender el verdadero valor de una vivienda es crucial no solo para

Rakuten TV Enterprise Services

Rakuten TV abre un nuevo negocio para el mercado B2B

Rakuten TV, una de las principales plataformas de streaming en Europa, ha presentado en el evento Mipcom su nueva apuesta estratégica: Rakuten TV Enterprise Services. Este anuncio marca un hito importante en la evolución de la empresa, que busca expandir sus servicios en el mercado del entretenimiento digital, facilitando la creación, gestión y monetización de

tecnología 6G

La tecnología 6G podría empezar a tener impacto entre 2029 y 2030

Cada vez se habla más de la tecnología 6G. El tiempo pasa y cada año es un mundo para el desarrollo tecnológico. Muchos están en ello y de esta próxima conectividad se desprenden grandes oportunidades. Es lo que opinan todos los expertos. Uno de ellos, Daniel Camps, director del área de investigación en redes inalámbricas