Introducción al kernel Linux
El kernel Linux® es el elemento principal de los sistemas operativos (SO) Linux, y es la interfaz fundamental entre el hardware de una computadora y sus procesos. Los comunica entre sí y gestiona los recursos de la manera más eficiente posible.
Se llama kernel porque se encuentra dentro del sistema operativo, al igual que las semillas de las frutas con cáscara dura, y controla todas las funciones principales del hardware, ya sea un teléfono, una computadora portátil, un servidor o cualquier otro tipo de equipo.
Funciones del kernel
El kernel cumple cuatro tareas:
- Gestión de la memoria: supervisa cuánta memoria se utiliza para almacenar qué tipo de elementos, así como el lugar en que los guarda.
- Gestión de los procesos: determina qué procesos pueden usar la unidad central de procesamiento (CPU), cuándo y durante cuánto tiempo.
- Controladores de dispositivos: actúa como mediador o intérprete entre el hardware y los procesos.
- Seguridad y llamadas al sistema: recibe solicitudes de servicio por parte de los procesos.
Si se implementa de forma correcta, es invisible para el usuario y funciona en su propio mundo pequeño, conocido como el espacio del kernel, donde asigna la memoria y supervisa el lugar en el que se almacena cada elemento. Lo que está a la vista del usuario, como los exploradores y los archivos, se conoce como el espacio del usuario. Estas aplicaciones interactúan con el kernel a través de una interfaz de llamadas al sistema (SCI).
Piénselo de esta manera: el kernel es el asistente personal atareado de un poderoso ejecutivo (el hardware). Debe transmitir los mensajes y las solicitudes (los procesos) de los empleados y el público (los usuarios) al ejecutivo, recordar qué elementos se almacenan y dónde (la memoria) y determinar quién puede acceder al ejecutivo en un momento dado y durante cuánto tiempo.
Ubicación del kernel dentro del SO
Para darle un contexto al kernel, imagínese que el equipo Linux tiene tres capas:
- El hardware: se trata del equipo físico, el cimiento o la base del sistema, que está compuesto por la memoria (RAM) y el procesador o la unidad central de procesamiento (CPU), además de los dispositivos de entrada y salida (E/S), el almacenamiento, la conexión de red y los gráficos. La CPU realiza los cálculos y también accede a la memoria y la modifica.
- El kernel de Linux: es el corazón del SO. Se encuentra justo en el medio y se trata del software que reside en la memoria e indica qué debe hacer la CPU.
- Procesos del usuario: son los programas en funcionamiento que gestiona el kernel y, en conjunto, conforman el espacio del usuario. También se les llama procesos simplemente. El kernel también permite que los procesos y los servidores se comuniquen entre sí, lo cual se conoce como comunicación entre procesos (IPC).
El código que ejecuta el sistema funciona en las CPU en uno de estos dos modos: el modo kernel o el modo usuario. El que se ejecuta en el modo kernel puede acceder al hardware sin restricciones, mientras que el modo usuario restringe el acceso a la CPU y la memoria a la SCI. La memoria se divide de forma similar (el espacio del kernel y del usuario). Esta división conforma la base de algunas operaciones complejas, como la separación de privilegios para la seguridad, el diseño de contenedores y las máquinas virtuales.
También significa que si un proceso falla en el modo usuario, el daño es limitado, y el kernel puede recuperarlo. Por otro lado, debido al acceso del kernel a la memoria y al procesador, un fallo en uno de sus procesos puede perjudicar a todo el sistema. Dado que hay mecanismos de protección y se requieren permisos para cruzar los límites, los fallos en los procesos del usuario no suelen causar demasiados problemas.
Además, el kernel de Linux puede seguir funcionando incluso durante la ejecución activa de parches, entonces no se genera tiempo de inactividad mientras se aplican en los errores de seguridad.
Motivos para elegir Red Hat
Linux es la base de todo lo que hacemos en Red Hat, que es el segundo mayor contribuyente al kernel de Linux. Aporta la experiencia y los conocimientos de 25 años de historia y una gran comunidad de partners, clientes y especialistas de todo el sector. Es una relación larga, con un historial y un nivel de experiencia difíciles de conseguir.
El kernel de Linux es open source, uno de los principales valores de Red Hat. Conozca los motivos por los que fundamos nuestra empresa en la convicción de que Red Hat® Enterprise Linux es el mejor sistema.