Saltar al contenido principal

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:

  1. Gestión de Procesos

    • Planificación (scheduler)
    • Creación y terminación
    • Comunicación entre procesos
  2. Gestión de Memoria

    • Asignación dinámica
    • Memoria virtual
    • Swap
  3. Sistema de Archivos

    • VFS (Virtual File System)
    • Soporte para múltiples FS
    • Caché y buffers
  4. Gestión de Red

    • Stack TCP/IP
    • Interfaces de red
    • Cortafuegos
  5. 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