Hopp til innhold

El núcleo del sistema operativo

Skip to content

¡Este es un texto traducido por máquina que puede contener errores!

Al guardar un archivo, el programa necesita acceso al almacenamiento. Cuando varios programas se ejecutan simultáneamente, necesitan tanto tiempo de procesador como memoria. El núcleo del sistema operativo (kernel) es la parte del sistema operativo que gestiona estos recursos y otorga a los programas un controlado acceso a ellos.

Aquí deberás poder explicar qué trabajo realiza el núcleo, y diferenciarlo del sistema operativo en su conjunto y de la interfaz de usuario.

Posición en la serie: Esta es la Parte 3 de Sistema Operativo. [[Sistema Operativo Nivel 1 - ¿Qué es un sistema operativo?|Parte 1]] explica el conjunto; [[Sistema Operativo Nivel 2 - GUI y CLI|Parte 2]] muestra las interfaces de usuario. Comienza allí si estos conceptos son nuevos para ti. La página también se utiliza como base para la virtualización y los contenedores en Vg2.

El núcleo es parte del sistema operativo

Los programas utilizan los servicios del sistema operativo. Dentro del sistema operativo se encuentran las herramientas de sistema y los servicios, además del núcleo que gestiona la CPU, la memoria, el almacenamiento y los dispositivos. El hardware está fuera del sistema operativo.

Un sistema operativo contiene más cosas que solo el núcleo. También tiene bibliotecas, servicios del sistema y herramientas que hacen posible utilizar y administrar el sistema. Una línea de comandos o un escritorio gráfico le proporciona una interfaz de usuario con el sistema.

Por lo tanto, puede eliminar el escritorio de un servidor Linux y aún así tener un sistema operativo funcional. El núcleo y otras partes necesarias del sistema siguen ahí.

¿Qué hace el núcleo?

Recurso o tarea Qué gestiona el núcleo
Procesador (CPU) Distribuye el tiempo de procesación entre los procesos, es decir, los programas que se ejecutan.
Memoria principal (RAM) Gestiona las áreas de memoria y las protege contra accesos no autorizados por parte de otros procesos.
Almacenamiento y dispositivos Proporciona acceso a través de sistemas de archivos y controladores, entre otras cosas. Un controlador es un software que maneja un tipo específico de dispositivo.
Permisos Controla muchas de las solicitudes de los programas respecto a los permisos del usuario y del proceso.

Cuando un programa necesita un servicio del núcleo, utiliza una llamada al sistema, generalmente mediante una biblioteca. El programa suele ejecutar con menos privilegios que el núcleo. Esta es una frontera importante dentro del sistema.

Un ejemplo: Guardas un archivo de texto

  1. Selecciona Guardar en el programa de textos.
  2. El programa solicita al sistema operativo que escriba los datos en un archivo.
  3. El núcleo procesa la solicitud, entre otras cosas permisos y acceso a través del sistema de archivos y controladores.
  4. El programa recibe una notificación sobre el resultado y puede mostrar si el guardado tuvo éxito o falló.

El mismo tipo de servicio del sistema se utiliza ya sea que la solicitud comience en un programa gráfico o en una línea de comandos. La GUI y la CLI son interfaces de usuario; el núcleo gestiona los recursos del sistema. El ejemplo es simplificado: no se incluyen la memorización intermedia ni todos los detalles relacionados con la escritura en un disco físico.

Linux, Debian y Ubuntu: ¿Qué es qué?

Linux es el nombre de un núcleo de sistema operativo. En la conversación cotidiana, también se utiliza este término para referirse a los sistemas operativos completos basados en Linux. Una distribución de Linux, como Debian o Ubuntu, combina el núcleo de Linux con bibliotecas, herramientas, programas de instalación y sistemas de paquetes.

Concepto Relación con las demás partes
El núcleo de Linux Parte de un sistema operativo basado en Linux.
Debian y Ubuntu Distribuciones que se construyen sobre el núcleo de Linux. Pueden utilizar diferentes versiones del núcleo y configuraciones.
GNOME y KDE Plasma Ejemplos de entornos gráficos de escritorio. Se pueden instalar o eliminar sin cambiar el propio núcleo del sistema operativo.
Bash Un intérprete de comandos (shell) que permite usar comandos. Es un programa, no el núcleo.

Investiga un equipo de Linux si tienes uno

En una terminal de Linux puedes leer el nombre y la versión del kernel que se está ejecutando:

uname -s
uname -r

El primer comando mostrará Linux. El segundo muestra la versión del kernel de esta máquina específica; no tiene por qué ser igual a la de un compañero. Los comandos no cambian nada y no requieren sudo.

Para ver qué distribución de Linux estás usando, debes leer otra información:

cat /etc/os-release

Busca PRETTY_NAME, por ejemplo un nombre que contenga Debian o Ubuntu. La versión del kernel y la versión de la distribución son información distinta. Utiliza esta sección en Linux; no necesitas instalar Linux para realizar la autoprueba a continuación.

¿Por qué aparece el kernel en las máquinas virtuales y los contenedores?

Una máquina virtual ejecuta un sistema operativo invitado con su propio kernel. Los contenedores de Linux comparten el kernel del sistema Linux sobre el que se ejecutan. Cuando Docker se ejecuta dentro de una máquina virtual de Linux, los contenedores comparten el kernel de la máquina virtual.

Consulte mapa de sistemas operativos, máquinas virtuales y contenedores para las relaciones, y recurso de contenerización para la comparación ilustrada.

Comprueba tu explicación

  1. Eliminas GNOME de un servidor Debian. ¿También eliminaste el kernel? Justifica tu respuesta.
  2. Dos programas guardan archivos simultáneamente. ¿Qué componente gestiona el acceso a los recursos del sistema?
  3. uname -r y PRETTY_NAME muestran números de versión diferentes. ¿Por qué ambos pueden ser correctos?

Comprueba la respuesta: GNOME es el entorno de escritorio, y su eliminación no elimina por sí mismo el kernel. El kernel gestiona el acceso de los programas a los recursos del sistema, junto con otras partes del sistema. uname -r muestra la versión del kernel, mientras que PRETTY_NAME describe la distribución.

Estás listo para continuar cuando puedas explicar la diferencia entre sistema operativo, kernel e interfaz de usuario mediante un ejemplo propio. Si confundes las partes, usa la figura y sigue el proceso de escritura de archivos una vez más. Si deseas investigar más, explica cómo dos distribuciones Linux distintas pueden basarse en el mismo tipo de kernel.

Fuentes: Red Hat: The Linux Kernel, Sistemas operativos basados en Linux y uname. La ilustración fue creada específicamente para este recurso.