RedNotes
Toggle sidebar
Iniciar sesión
Sistemas Operativos/Kernel
Inicia sesión para editar

El kernel (núcleo) es la parte del Sistemas Operativos que se ejecuta en modo kernel (privilegiado). Tiene acceso total al hardware: puede ejecutar cualquier instrucción, manipular la MMU, deshabilitar interrupciones y acceder a los dispositivos. Los programas de usuario sólo pueden pedirle servicios mediante Sistemas Operativos/Llamadas al sistema.

Estructuras de sistemas operativos

Tanenbaum describe varias formas de organizar el núcleo:

Monolítico

Todo el SO se ejecuta como un único programa en modo kernel. Es una colección de procedimientos enlazados que pueden llamarse entre sí libremente.

  • ✅ Muy eficiente: las llamadas internas son simples llamadas a función.
  • ❌ Un fallo en cualquier componente (p. ej. un driver) puede tumbar todo el sistema.
  • Ejemplos: UNIX tradicional, Linux (con módulos cargables), Windows (en gran parte).

Sistemas en capas

El SO se organiza como una jerarquía de capas, cada una construida sobre la inferior. El ejemplo clásico es THE (Dijkstra, 1968) con 6 capas; MULTICS generalizó la idea con anillos concéntricos de privilegio.

Microkernel

Sólo un núcleo mínimo corre en modo kernel (manejo de interrupciones, IPC básico, planificación de bajo nivel). Drivers, sistema de archivos y gestión de memoria corren como procesos de usuario separados.

  • ✅ Alta fiabilidad: un driver que falla no compromete al kernel; puede reiniciarse.
  • ❌ Más cambios de contexto y paso de mensajes → coste de rendimiento.
  • Ejemplos: MINIX 3 (del propio Tanenbaum), QNX, L4, seL4.

Modelo cliente-servidor

Variante del microkernel: los procesos se dividen en servidores que ofrecen servicios y clientes que los usan, comunicándose por paso de mensajes. Escala naturalmente a sistemas distribuidos.

Máquinas virtuales

Un hipervisor multiplexa el hardware y ofrece varias copias exactas de la máquina, cada una con su propio SO. Tipo 1 corre sobre el hardware (VM/370, Xen, ESXi); tipo 2 sobre un SO anfitrión (VirtualBox, VMware Workstation).

Exokernels

El núcleo sólo asigna recursos de forma segura y deja las abstracciones a bibliotecas en espacio de usuario.

Funciones típicas del kernel

El debate Tanenbaum–Torvalds (1992) enfrentó precisamente microkernel (MINIX) contra kernel monolítico (Linux).

#sistemas-operativos #tanenbaum #kernel