Capítulo I: Fundamentos del Sistema Operativo
"Un sistema operativo es el software que gestiona los recursos del hardware y proporciona servicios a los programas de aplicación."
Hardware = Cuerpo
Los componentes físicos: CPU, RAM, disco, tarjeta gráfica. Son los músculos y órganos del computador.
SO = Cerebro
Coordina todo y toma decisiones. Sin él, solo hay electrónica esperando órdenes... no hay programas, ni archivos, ni interfaz.
Funciones principales del SO
1Gestión de Procesos
Controla qué programa usa la CPU en cada momento.
2Gestión de Memoria
Asigna y protege la RAM para cada aplicación.
3Gestión de Archivos
Organiza el almacenamiento y la estructura de directorios.
4Control de E/S
Maneja dispositivos y periféricos (teclado, disco, red).
Los tres niveles del sistema
Cada capa solo puede comunicarse con la capa adyacente. El usuario nunca interactúa directamente con el hardware.
Espacio de Usuario
Navegador web, terminal, editores de texto.
Kernel
Gestión de procesos, memoria y controladores (drivers).
Hardware
CPU, RAM, disco duro/SSD, tarjeta de red.
Flujo de comunicación
- La aplicación solicita un recurso.
- El kernel recibe la solicitud.
- El kernel verifica permisos.
- El hardware ejecuta la operación.
- El resultado vuelve a la app.
"El sistema operativo es el intermediario entre el usuario y el hardware."
Capítulo II: Hardware y Kernel
Componentes fundamentales del hardware
CPU
Procesador central que ejecuta instrucciones.
RAM
Memoria volátil de acceso rápido.
Disco
Almacenamiento persistente (HDD/SSD).
GPU
Procesamiento gráfico y paralelo.
Tarjeta de Red
Conectividad Ethernet/WiFi.
Dispositivos E/S
Teclado, ratón, monitor, impresora.
El Kernel: el corazón del sistema
Es el núcleo del sistema operativo. Es el único que puede hablar directamente con el hardware.
El Árbitro
Decide quién usa los recursos.
El Policía
Protege y hace cumplir las reglas.
El Administrador
Gestiona todos los recursos.
Funciones fundamentales del Kernel
Gestión de Procesos
La CPU solo puede ejecutar una cosa a la vez. El kernel divide el tiempo en microfragmentos (Time Slices), cambia rápidamente entre procesos (Context Switching) y crea la ilusión de ejecución simultánea.
Gestión de Memoria
Cada programa cree que tiene su propio espacio privado. La RAM es compartida; el kernel divide y protege cada espacio. Si un programa invade otra memoria → Segmentation Fault.
Controladores (Drivers)
El kernel no sabe manejar cada impresora del mundo. Para eso usa drivers: traductores específicos para cada dispositivo. Sin driver = no hay dispositivo.
Arquitectura del Kernel Linux
Linux es Monolítico: todo el núcleo vive en el mismo espacio de memoria.
🧱 Monolítico (Linux)
- Todo en kernel space
- Alto rendimiento, menos overhead
- Comunicación directa entre componentes
- Un error puede afectar todo el sistema
🧩 Microkernel (MINIX)
- Solo lo esencial en kernel
- Mayor seguridad y estabilidad
- Mayor overhead de comunicación
- Más difícil de implementar
"Linux es un paso atrás a los años 70. Los microkernels han ganado."
"Los microkernels son más complicados. Los algoritmos distribuidos no son más simples."
Capítulo III: Modos de Ejecución y System Calls
Modo Kernel vs Modo Usuario
Modo Kernel
Acceso total al hardware. Solo el kernel y sus módulos viven aquí. Acceso directo a memoria, puertos e interrupciones. Si algo falla → Kernel Panic.
Modo Usuario
Acceso limitado. Todas las aplicaciones viven aquí. No pueden tocar hardware directamente. Si algo falla → solo se cierra el programa.
Cambio de modo
- La app solicita un servicio (syscall).
- La CPU cambia a modo kernel.
- El kernel ejecuta la operación.
- Retorna a modo usuario.
"El modo dual de operación protege al SO de programas de usuario erróneos."
System Calls: las llamadas al sistema
Las aplicaciones NO pueden hablar directamente con el hardware. Usan System Calls: solicitudes formales al kernel. Son el único puente legal hacia el núcleo. Linux tiene ~300 system calls diferentes.
Procesos
fork()— Crear procesoexec()— Ejecutar programa
Archivos
open()— Abrir archivoclose()— Cerrar archivo
Datos
read()— Leer datoswrite()— Escribir datos
Ejemplo: abrir un archivo
- El programa llama a
open(). - Se invoca la syscall al kernel.
- El kernel verifica permisos.
- El archivo se abre → retorna descriptor o error.
Capítulo IV: Interfaz de Usuario y Entorno Gráfico
Espacio de Usuario, CLI y Shell
CLI
Interfaz basada en texto. No es retro: es poderosa. Automatización de tareas, administración de servidores, control total del sistema.
Shell
El intérprete. Recibe lo que escribes, traduce comandos a instrucciones y ejecuta syscalls. Sin shell, la terminal sería una pantalla vacía.
Shells en Linux
- Bash — Default
- Zsh — Moderno
- Fish — User-friendly
La Pila Gráfica de Linux
Cuando queremos ventanas, mouse y botones, aparece esta arquitectura:
X11 (Clásico)
Sistema gráfico con +30 años. Funciona con modelo cliente-servidor: el Servidor X controla pantalla, teclado y ratón; las aplicaciones le piden que dibuje cosas.
Wayland (Moderno)
El reemplazo moderno de X11. Más simple, más seguro, más eficiente. El compositor habla directamente con el kernel y la GPU. Es el futuro.
Comparación X11 vs Wayland
| Característica | X11 | Wayland |
|---|---|---|
| Edad | +30 años | Moderno |
| Arquitectura | Cliente-servidor | Más directa |
| Seguridad | Más débil | Más fuerte |
| Complejidad | Muy compleja | Más simple |
| Rendimiento | Bueno | Mejor en animaciones |
| Soporte legado | Excelente | En transición |
Entornos de Escritorio
Un entorno de escritorio es un paquete completo que incluye apariencia visual, paneles, menú, gestor de ventanas y aplicaciones básicas. NO son sistemas operativos — son capas visuales que viven encima del servidor gráfico.
GNOME
Minimalista, moderno, GTK. Muy usado en Ubuntu y Fedora.
KDE Plasma
Altamente personalizable, Qt, muy visual y completo.
XFCE
Ligero, clásico, ideal para equipos antiguos.
MATE
Basado en GNOME 2. Tradicional, ligero-moderado.
Cinnamon
Basado en GNOME, tipo Windows. Usado en Linux Mint.
Gestores de Ventanas
En Linux puedes cambiar el gestor de ventanas o el entorno completo. En Windows y macOS la interfaz es fija. Aquí está la diferencia cultural.
Flotantes (Tradicionales)
Ventanas que flotan libremente en la pantalla. Ej: Openbox, Fluxbox.
Tiling (Mosaico)
Ventanas se organizan automáticamente en pantalla. Ej: i3, Sway, Hyprland.
Conclusión
Kernel
Controla hardware
Protección
Reglas de seguridad
Aplicaciones
Espacio seguro
Puente
Software ↔ Hardware
Linux no es solo "otro sistema".
Es una arquitectura modular donde casi todo es intercambiable. Y eso cambia completamente la forma de entender los sistemas.
Galería de Videos
El Kernel de Linux (Computerphile)
¿Qué es un Kernel? (Red Hat)
Referencias Bibliográficas
- Silberschatz, A., Galvin, P. B. & Gagne, G. (2018). Operating System Concepts, 10th Edition. Wiley.
- Tanenbaum, A. S. (2015). Modern Operating Systems, 4th Edition. Pearson.
- Love, R. (2010). Linux Kernel Development, 3rd Edition. Addison-Wesley.
- Ward, B. (2021). How Linux Works, 3rd Edition. No Starch Press.
- Kernel.org. (2025). The Linux Kernel Archives. Sitio Oficial