El Corazón del Sistema Operativo: Definición, Tipos y Funciones Esenciales del Kernel

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,3 KB

El Núcleo del Sistema Operativo (Kernel)

Todas las operaciones en las que participan procesos son controladas por la parte central del sistema operativo denominada núcleo (o nucleus, core o kernel, en inglés).

El núcleo normalmente representa solo una pequeña parte de lo que se considera el sistema operativo completo, pero es, quizás, el código que más se utiliza. Por esta razón, el núcleo reside por lo regular en la memoria principal, mientras que otras partes del sistema operativo son cargadas en la memoria principal solo cuando se necesitan.

Los núcleos se diseñan para realizar el mínimo procesamiento posible en cada interrupción, delegando el resto al proceso apropiado del sistema. Este proceso puede operar mientras el núcleo se habilita para atender otras interrupciones.

El Kernel consiste en la parte principal del código del sistema operativo. Se encarga de controlar y administrar los servicios, las peticiones de recursos y el hardware con respecto a uno o varios procesos. En otras palabras, el kernel es el corazón del sistema operativo.

Tipos de Kernels

Cada sistema operativo emplea un tipo distinto de kernel:

  • Kernel Monolítico: Utilizado por sistemas Unix tradicionales como FreeBSD. En este modelo, todo el código está compilado dentro del núcleo.
  • Microkernels: Usados por sistemas como Darwin, Hurd e incluso Windows (krnl32.dll). Estos núcleos son más pequeños y solo contienen las funciones esenciales.
  • Kernel Modular: Empleado por GNU/Linux (vmlinuz). Es un núcleo grande comparado con un microkernel, pero tiene la capacidad de delegar funciones en módulos.

Los módulos son partes independientes del núcleo que pueden ser incorporadas dinámicamente si son necesarias y luego descargadas. Esto permite cargar drivers para hardware, firewall o funciones especiales de red (PPP, RDSI, etc.) solo cuando se necesiten y, por ejemplo, liberar la memoria utilizada por ese módulo al cerrar una conexión a internet.

Funciones Esenciales del Núcleo

El núcleo de un sistema operativo contiene el código necesario para realizar las siguientes funciones críticas:

  • Manejo de interrupciones.
  • Creación y destrucción de procesos.
  • Cambio de estado de los procesos.
  • Despacho (Dispatching).
  • Suspensión y reanudación de procesos.
  • Sincronización de procesos.
  • Comunicación entre procesos.
  • Manipulación de los bloques de control de procesos.
  • Apoyo para las actividades de entrada/salida (E/S).
  • Apoyo para asignación y liberación de memoria.
  • Apoyo para el sistema de archivos.
  • Apoyo para el mecanismo de llamada y retorno de un procedimiento.
  • Apoyo para ciertas funciones de contabilidad del sistema.

Estructura del Kernel: Las 5 Capas

El núcleo o Kernel, que controla y administra los servicios y peticiones de recursos y hardware, se puede conceptualizar dividido en 5 capas funcionales:

  1. Nivel 1: Gestión de Memoria. Proporciona las facilidades de bajo nivel para la gestión de memoria secundaria necesaria para la ejecución de procesos.
  2. Nivel 2: Procesador. Se encarga de activar los quantums de tiempo para cada uno de los procesos, creando interrupciones de hardware cuando no son respetadas.
  3. Nivel 3: Entrada/Salida (E/S). Proporciona las facilidades para poder utilizar los dispositivos de E/S requeridos por los procesos.
  4. Nivel 4: Información, Aplicación o Intérprete de Lenguajes. Facilita la comunicación entre los lenguajes y el sistema operativo para aceptar las órdenes en cada una de las aplicaciones. Cuando se solicita la ejecución de un programa, el software de este nivel crea el ambiente de trabajo e invoca a los procesos correspondientes.
  5. Nivel 5: Control de Archivos. Proporciona la facilidad para el almacenamiento a largo plazo y la manipulación de archivos con nombre, asignando espacio y acceso de datos en memoria.

Entradas relacionadas: