4  Conceptos básicos del sistema operativo

4.1 Kernel

El kernel, también denominado núcleo del sistema operativo, es el componente fundamental que permanece en ejecución permanente en la memoria y que gestiona de forma centralizada los recursos del sistema (procesador, memoria, dispositivos de entrada/salida, etc.).

El kernel es el núcleo del sistema operativo

Su función principal consiste en arbitrar el acceso de las aplicaciones al hardware de manera segura y eficiente. Así, el kernel proporciona los mecanismos básicos de comunicación entre procesos, administra la asignación y liberación de memoria, coordina la ejecución de los hilos o procesos y supervisa las interrupciones o excepciones que se producen durante la operación del sistema.

De acuerdo con Tanenbaum y Bos [1], el kernel opera en un nivel privilegiado (modo núcleo), lo que significa que tiene control total sobre el hardware y el resto de software, a diferencia de las aplicaciones de usuario que se ejecutan en modo restringido.

4.2 Eventos

Los eventos en un sistema operativo son sucesos o condiciones que ocurren tanto en el entorno del hardware como en el software y que requieren la atención del sistema. Pueden ser:

Externos
Generados por el usuario (pulsaciones de teclas, clics del ratón), dispositivos periféricos (movimiento del ratón, señales de red) o cambios en el entorno físico (sensores, interrupciones de energía).
Internos
Originados por el propio sistema operativo o las aplicaciones (finalización de un proceso, generación de señales de temporizador, notificaciones de errores).
Generación de eventos
Los eventos se originan cuando el hardware detecta un cambio en el estado (por ejemplo, un botón presionado) o cuando un proceso informa al sistema de que se ha completado una tarea o se ha producido un error. El sistema operativo dispone de mecanismos para capturar y responder a estos eventos, permitiendo que se realicen acciones específicas, como actualizar la interfaz gráfica, cambiar el estado de un proceso o gestionar una alerta de error.

4.3 Interrupciones y excepciones

Interrupciones
Una interrupción es una señal enviada por un dispositivo de hardware o por un componente interno del sistema que notifica al procesador que debe detener temporalmente la ejecución del proceso actual para atender una tarea urgente. Al producirse una interrupción, se ejecuta una serie de pasos para gestionar el evento:
  1. Pausa de la tarea actual: Se detiene temporalmente el proceso que se estaba ejecutando.
  2. Guardado del estado: Se almacena el estado actual del proceso para poder retomarlo más adelante.
  3. Ejecución del manejador: Se invoca una rutina o manejador de interrupciones, que es un programa especial encargado de procesar el evento.
  4. Respuesta inmediata: Permite atender situaciones críticas de forma inmediata, sin tener que esperar a que el proceso en curso finalice.
Excepciones
Las excepciones son eventos inesperados que ocurren durante la ejecución de un proceso, generalmente debido a errores en el código o condiciones anómalas en el entorno (por ejemplo, división por cero, acceso a memoria inválido).

Permiten al sistema operativo detectar errores en la ejecución de un proceso y actuar de forma controlada, ya sea terminando el proceso o ejecutando rutinas de manejo de errores.

4.4 Llamadas al sistema

Las llamadas al sistema son la interfaz mediante la cual las aplicaciones en modo usuario solicitan servicios al kernel, que opera en un nivel privilegiado. Este mecanismo permite que los programas puedan realizar operaciones que requieren acceso directo a los recursos del hardware (como leer o escribir en un disco, gestionar la memoria o comunicarse a través de la red) sin comprometer la seguridad del sistema.

[1]
A. S. Tanenbaum y H. Bos, Modern Operating Systems, 4th ed. Pearson, 2014.