El kernel de Linux es un kernel gratuito y de código abierto que es crítico para muchos sistemas informáticos. En el sistema operativo (SO) Linux, el kernel de Linux forma una interfaz crítica entre las capas de hardware y software, lo que permite que el sistema operativo gestione muchos componentes diferentes a la vez.
Los núcleos son programas informáticos que forman el núcleo de un sistema operativo (SO) y dan al usuario un control completo sobre los componentes de hardware y software que componen el sistema. Los núcleos ayudan a prevenir conflictos entre procesos importantes que son esenciales para el correcto funcionamiento del sistema. El código del kernel se guarda en la memoria del ordenador y permite todas las interacciones entre el software y el hardware; por ejemplo, entrada/salida (E/S), uso de CPU y caché, controladores de dispositivos, sistemas de archivos y sockets de red.
El kernel de Linux fue desarrollado en 1991 por Linus Torvalds como una alternativa libre a Unix, uno de los primeros sistemas operativos que permitía a los usuarios interactuar directamente con los ordenadores. En los años transcurridos desde entonces, el kernel de Linux y las posteriores versiones y lanzamientos del kernel se han vuelto algo crítico para las distribuciones de Linux. Hoy en día, son utilizados por algunas de las mayores empresas de tecnología, software e informática del mundo.
Cada 9-10 semanas, se lanza una nueva versión del kernel de Linux. Estas versiones, llamadas "kernels estables", son atendidas por desarrolladores de Linux y mantenedores de repositorios de Linux y se pueden encontrar en kernel.org y GitHub.
Sin embargo, algunos proveedores, como Debian y Red Hat, prefieren mantener un árbol de directorios personalizado, una colección de todo el código fuente del kernel de Linux para sus propios proyectos. Este enfoque tiene ramificaciones críticas para el uso del kernel de Linux en muchas aplicaciones empresariales modernas, como la inteligencia artificial (IA), el edge computing y el Internet de las cosas (IoT).
Por ejemplo, Red Hat Enterprise Linux es una plataforma Linux estable y de alto rendimiento que cuenta con capacidades de seguridad y gestión a medida, y se construye utilizando el árbol de directorios de Linux personalizado de Red Hat. Debian utiliza su árbol de directorios para mantener Ubuntu, un código de código abierto que es fundamental para muchas arquitecturas de IoT.
Un kernel es un programa informático que funciona como el corazón palpitante del sistema operativo, el sistema que permite a los usuarios interactuar con el hardware y el software del ordenador. En el caso del sistema operativo Linux, el kernel de Linux es el código que forma el componente central del sistema operativo, lo que le permite realizar sus funciones.
El sistema operativo Linux cuenta con varios componentes además del kernel de Linux, como bibliotecas del sistema, servicios de espacio de usuario y aplicaciones. Sin embargo, todos estos componentes dependen del kernel de Linux para comunicarse con el sistema operativo y poder recibir comandos, como entrada/salida (E/S), y cumplir con las solicitudes de los usuarios. El kernel de Linux es conocido por su flexibilidad y puede modificarse según las necesidades del usuario o para adaptarse a los requisitos de un programa específico.
Cada versión del kernel de Linux tiene un ciclo de vida en el que se prueba, se lanza al público y luego se elimina gradualmente. El ciclo de vida del kernel de Linux se divide en cinco fases: Prepatch, Mainline, Stable Review, Long Term Support (LTS) y End of Life (EOL).
Boletín del sector
Manténgase al día sobre las tendencias más importantes e intrigantes del sector en materia de IA, automatización, datos y mucho más con el boletín Think. Consulte la Declaración de privacidad de IBM.
Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.
Hoy en día, Linux es uno de los sistemas operativos de código abierto más utilizados en el mundo. Esto se debe en gran medida a la flexibilidad y eficacia del kernel de Linux. Proporciona muchas de las capacidades de gestión y control que hacen del sistema operativo Linux una plataforma tan potente, incluidas las que alimentan la CPU (el cerebro activo de un sistema informático) y su capacidad de red (su capacidad para conectarse con otros dispositivos y compartir recursos e información). Estos son algunos de los beneficios empresariales más amplios del kernel de Linux:
El kernel de Linux se compone de seis capas distintas o subsistemas que permiten sus funciones principales:
He aquí un vistazo más de cerca a cada uno y cómo funciona.
La capa SCI lleva la funcionalidad que permite al kernel ejecutar llamadas al sistema desde el espacio del usuario al kernel. Esta es una capacidad crítica del kernel de Linux porque el espacio de usuario es donde el software de aplicación y los controladores ejecutan sus cargas de trabajo, mientras que el espacio del kernel es estrictamente para ejecutar funciones críticas del sistema operativo. La capa SCI forma un puente entre los dos espacios. Cuando se inicia una llamada al sistema desde el espacio del usuario, por ejemplo, una solicitud para actualizar una bandeja de entrada de correo electrónico o abrir una aplicación móvil, la llamada al sistema activa un cambio a la capa del núcleo, lo que permite que la solicitud se transmita al sistema operativo.
La capa de gestión de procesos permite al kernel de Linux ejecutar los procesos que permiten a los usuarios interactuar con el ordenador. Por ejemplo, cuando Linux se inicia por primera vez, Init (abreviatura de "inicialización"), lleva el sistema a un estado utilizable ejecutando scripts de inicio y gestionando los niveles de ejecución. Cada proceso representa una virtualización individual del procesador, por ejemplo, código de subprocesos, datos, pila y registros de CPU.
Los ordenadores gestionan la memoria virtual mediante lo que se conoce como "páginas". Las páginas son la unidad más pequeña en la que se pueden dividir los datos en un sistema operativo que se basa en la memoria virtual. La capa de gestión de memoria del kernel de Linux permite al sistema operativo (y, por extensión, al usuario) gestionar la memoria disponible de un ordenador. La memoria virtual es crítica para la funcionalidad de todos los programas y aplicaciones.
El sistema de archivos virtual (VFS) del kernel de Linux proporciona una interfaz común para los sistemas de archivos. El VFS funciona como una capa de conmutación entre el SCI y los sistemas de archivos compatibles con el kernel, lo que permite muchas funciones críticas (por ejemplo, abrir, cerrar, leer y escribir).
Las abstracciones del sistema de archivos, es decir, la forma en que los usuarios ven los archivos, directorios y sistemas de archivos, son otro componente clave de la capa VFS, que ayuda a presentar la complejidad de un sistema informático de una manera representativa y fácil de entender para el usuario.
Cada ordenador de una red, también conocido como "nodo", debe seguir protocolos de red, un conjunto estricto de reglas para compartir y recibir datos. Estos protocolos son cruciales para permitir que dispositivos incompatibles utilicen la misma red, por ejemplo, un teléfono Android y un ordenador Mac.
Para facilitar este tipo de comunicación, los protocolos de red se basan en puertas de enlace, que son dispositivos de hardware (como enrutadores) que facilitan la comunicación entre dos redes diferentes. La pila de red en el kernel de Linux utiliza muchos dispositivos de puerta de enlace comunes, como convertidores de velocidad, traductores de protocolos y otros, para hacer posible la comunicación entre redes entre dispositivos incompatibles.
Los controladores de dispositivos proporcionan a un sistema operativo una interfaz de software que permite el funcionamiento de un dispositivo específico, como un teclado o unidad externa, un ratón o una impresora. El código fuente del kernel de Linux se compone principalmente de código contenido en controladores de dispositivos específicos de un determinado dispositivo.
El árbol de directorios de Linux, un directorio que contiene todo el código fuente del kernel de Linux y los controladores de dispositivos, se divide en los distintos dispositivos compatibles y sus conexiones, como Bluetooth o puerto serie. El controlador de dispositivo reconoce los comandos dados a un dispositivo individual, o clase de dispositivo, y crea solicitudes de E/S que contienen estos comandos para que el dispositivo funcione de la forma prevista por el usuario.
Empresas de sectores muy diferentes confían en el kernel de Linux y en las diversas capacidades que proporciona para mantener su personal innovando y para proporcionar los programas, aplicaciones y servicios en los que confían sus clientes. Estos son algunos de los casos de uso empresarial más comunes para el kernel de Linux.
El kernel de Linux permite que los ordenadores y los dispositivos informáticos se conecten de forma segura a través de Wi-Fi, Ethernet u otro tipo de conexión, independientemente de la compatibilidad del dispositivo. Esta funcionalidad permite compartir conocimientos y recursos críticos, como el uso de intranets y la entrega rápida y eficiente de productos de software como servicio (SaaS).
El kernel de Linux está equipado con sólidas capacidades de seguridad que ayudan a proteger a los usuarios y los sistemas operativos de las ciberamenazas que pueden dañar los ordenadores, los programas, las aplicaciones y las redes en las que se ejecutan. Estas amenazas incluyen muchos tipos diferentes de malware, como ransomware, rootkits, gusanos y más. Las amenazas que atacan las vulnerabilidades del kernel de Linux se abordan mediante parches frecuentes, como correcciones de errores, que protegen los sistemas y los programas que se ejecutan en ellos.
Con el 89 % de las empresas emprendiendo iniciativas de transformación digital2, la optimización de los recursos informáticos dedicados a la transformación digital se ha convertido en una parte esencial de la mayoría de las estrategias empresariales.
El kernel de Linux ayuda a las empresas a equilibrar las necesidades de sus recursos más preciados, como servidores, bases de datos y software de aplicación de vanguardia, para que puedan estar seguros de que sus sistemas y redes funcionan a niveles máximos a través de un proceso llamado ajuste del kernel.
El ajuste del kernel consiste en ajustar sutilmente la configuración del kernel de Linux para mejorar el rendimiento en subsistemas específicos del kernel de Linux, como redes, memoria, programación de procesos y sistemas de archivos. En el caso de los sistemas de archivos, por ejemplo, muchas aplicaciones de uso intensivo de datos, como videojuegos, aplicaciones de comercio financiero y sitios de redes sociales, requieren el ajuste de los parámetros del sistema de archivos para funcionar a niveles óptimos. El sistema de archivos proc, un VFS en el sistema operativo Linux, interactúa entre las estructuras de datos internas del kernel para obtener datos sobre el sistema, de modo que los parámetros del kernel puedan ajustarse para optimizar el rendimiento de la aplicación.
Las empresas más exitosas de hoy en día deben equipar a los empleados con tecnología punta, como ordenadores portátiles y móviles, para prosperar. El kernel de Linux permite que los programas y redes que dan soporte a miles de empleados en diferentes ubicaciones (y que utilizan diferentes tipos de dispositivos) colaboren de manera fluida. El núcleo permite que los dispositivos de hardware interactúen utilizando módulos de dispositivos específicos que se pueden cargar en el núcleo para que puedan ser gestionados por el sistema operativo.
Un proceso popular de gestión de dispositivos Linux se conoce como interrupción. La interrupción ayuda a conservar los recursos informáticos al permitir que el kernel de Linux detenga la comunicación entre un dispositivo y una aplicación cuando no es necesaria para una operación específica. Otra es udev, una herramienta de gestión de dispositivos de Linux que gestiona la adición y sustracción de dispositivos de un sistema operativo y controla cómo aparece cada dispositivo en un directorio.
El cloud computing, la entrega bajo demanda de recursos informáticos a través de Internet, se ha convertido en una herramienta esencial para muchas empresas modernas, estimulando la innovación y ayudando a ofrecer soluciones a los clientes de forma rápida y escalable.
El kernel de Linux permite la computación en la nube de manera crítica y se ha convertido en un componente esencial de todos los proveedores de servicios en la nube más grandes del mundo, incluidos Amazon (AWS), Microsoft Azure, Oracle y Google Cloud.
La escalabilidad del núcleo le permite admitir sistemas informáticos masivos, como superordenadores y centros de datos, sin aumentar significativamente los recursos informáticos, una capacidad que es esencial para las arquitecturas en la nube. El kernel de Linux también es ideal para cargas de trabajo en la nube porque es muy estable, con un tiempo de inactividad relativamente bajo. Por último, el kernel de Linux es muy versátil y puede funcionar en muchos tipos de hardware, una capacidad clave en los entornos virtualizados que son fundamentales para la nube moderna.
1. Top five containerization technologies in 2024, (enlace externo a ibm.com), 6Sense, 2024
2. The Value of Digital Transformation, (enlace externo a ibm.com), Harvard Business Review, 31 de julio de 2023
IBM Cloud Infrastructure Center es una plataforma de software compatible con OpenStack para gestionar la infraestructura de las nubes privadas en IBM zSystems e IBM LinuxONE.
Descubra servidores, almacenamiento y software diseñados para su estrategia empresarial de nube híbrida e IA.
Encuentre la solución de infraestructura en la nube adecuada para las necesidades de su empresa y escale los recursos según la demanda.