Capítulo 2.1 - Visión General de la Arquitectura
Objetivos de Aprendizaje
Al final de este capítulo, usted será capaz de:
- Comprender la separación entre Espacio de Usuario y Espacio Kernel
- Identificar las responsabilidades de cada componente del sistema
- Visualizar los flujos de comunicación
- Comprender los conceptos de proceso y memoria
Arquitectura en Capas
Linux sigue una arquitectura en capas bien definida:
Espacio de Usuario vs Espacio Kernel
Espacio de Usuario (User Space)
Rol: Ejecutar las aplicaciones y programas de usuario
Características:
- Contiene todas las aplicaciones que usted utiliza
- Acceso limitado al hardware (a través de llamadas al sistema)
- Aislamiento entre procesos
- Gestión de permisos de usuario
Componentes:
- Aplicaciones de usuario (navegador, editor, etc.)
- Shell y línea de comandos
- Bibliotecas del sistema (libc, etc.)
- Servicios y demonios
Espacio Kernel (Kernel Space)
Rol: Gestionar los recursos del sistema y el hardware
Características:
- Acceso directo al hardware
- Gestión de procesos y memoria
- Sistema de archivos
- Red y dispositivos
- Protección y seguridad
Componentes:
- Kernel Linux (núcleo)
- Controladores de hardware (drivers)
- Gestión de memoria
- Sistema de archivos virtual (VFS)
Flujos de Comunicación
1. Usuario → Shell → Aplicación
2. Proceso → Kernel → Hardware
3. systemd → Servicios → Kernel
Arquitectura del Kernel
El Kernel Linux está organizado en varios subsistemas:
Subsistemas principales:
-
Gestión de Procesos
- Planificación (scheduler)
- Creación y terminación
- Comunicación entre procesos
-
Gestión de Memoria
- Asignación dinámica
- Memoria virtual
- Swap
-
Sistema de Archivos
- VFS (Virtual File System)
- Soporte para múltiples FS
- Caché y buffers
-
Gestión de Red
- Stack TCP/IP
- Interfaces de red
- Cortafuegos
-
Gestión de Dispositivos
- Controladores (drivers)
- Plug and play
- Gestión de energía
Proceso Init y systemd
El proceso init (PID 1) es el primer proceso lanzado al inicio:
Roles de systemd:
- Primer proceso (PID 1)
- Progenitor de todos los procesos
- Gestión de servicios
- Monitoreo de procesos
- Gestión de niveles de ejecución
Resumen
En este capítulo, usted ha aprendido:
Arquitectura en capas: Aplicación → Sistema → Hardware
Espacio de Usuario: Aplicaciones y programas de usuario
Espacio Kernel: Gestión del sistema y hardware
Comunicación: Flujos mediante llamadas al sistema (syscalls)
Kernel: Organizado en subsistemas especializados
systemd: Primer proceso, gestión de servicios
Próximos Pasos
Ahora que usted comprende la arquitectura global:
Capítulo 2.2: Kernel Linux - El Corazón del Sistema
Capítulo 2.3: Gestión de Memoria y Swap
Capítulo creado el: Diciembre 2024