Capítulo 2.2 - Kernel Linux
Objetivos de Aprendizaje
Al final de este capítulo, usted será capaz de:
- Comprender el rol del Kernel Linux
- Explicar cómo el Kernel gestiona los recursos
- Comprender las llamadas al sistema (syscalls)
- Identificar las interacciones con el hardware
¿Qué es el Kernel Linux?
El Kernel Linux es el núcleo del sistema operativo. Actúa como una interfaz entre el hardware y el software, gestionando todos los recursos del sistema.
Roles del Kernel
1. Gestión de Procesos
El Kernel crea, planifica y termina procesos:
- Creación: fork(), clone()
- Planificación: Scheduler (CFS - Completely Fair Scheduler)
- Terminación: exit(), kill()
- Comunicación: pipes, sockets, señales
2. Gestión de Memoria
El Kernel gestiona la memoria física y virtual:
- Asignación: malloc() → kmalloc()
- Memoria virtual: Paginación, swap
- Protección: Separación de espacios de memoria
- Cache: Buffer cache, page cache
3. Sistema de Archivos
El Kernel gestiona el acceso a los archivos:
- VFS: Virtual File System (interfaz unificada)
- Soporte para múltiples FS: ext4, xfs, btrfs, etc.
- Permisos: Verificación de derechos de acceso
- Cache: Mejora del rendimiento
4. Gestión de Red
El Kernel gestiona las comunicaciones de red:
- Stack TCP/IP: Implementación de protocolos
- Interfaces de red: eth0, wlan0, etc.
- Firewall: iptables, netfilter
- Enrutamiento: Tablas de enrutamiento
5. Gestión de Dispositivos
El Kernel gestiona los dispositivos de hardware:
- Drivers: Controladores para cada dispositivo
- Plug and Play: Detección automática
- Gestión de energía: ACPI, suspend/resume
- Interrupciones: Gestión de IRQ
Llamadas al Sistema (Syscalls)
Las aplicaciones se comunican con el Kernel a través de llamadas al sistema:
Ejemplos de llamadas al sistema:
open(): Abrir un archivoread(): Leer desde un archivowrite(): Escribir en un archivofork(): Crear un procesoexec(): Ejecutar un programasocket(): Crear un socket de red
Arquitectura del Kernel
El Kernel está organizado en módulos:
Tipos de módulos:
- Core: Funcionalidades esenciales (siempre cargadas)
- Modules: Funcionalidades opcionales (cargadas bajo demanda)
- Drivers: Controladores de hardware
Resumen
En este capítulo, usted ha aprendido:
Kernel Linux: Núcleo del sistema, interfaz hardware/software
Roles: Gestión de procesos, memoria, archivos, red, dispositivos
Llamadas al sistema: Interfaz entre aplicaciones y kernel
Arquitectura: Core + módulos + drivers
Módulos: Carga dinámica de funcionalidades
Próximos Pasos
Capítulo 2.3: Gestión de Memoria y Swap
Capítulo 2.4: Sistema de Archivos Virtual (VFS)
Capítulo creado el: Diciembre 2024