Sistemas operativos
🔹 ¿Qué es un hilo?
Un hilo (thread) es la unidad más pequeña de ejecución dentro de un proceso. 👉 Mientras que un proceso tiene su propio espacio de memoria y recursos, los hilos comparten la memoria y recursos del proceso padre, pero pueden ejecutar diferentes partes del código de manera concurrente.
Ejemplo:
- En un navegador, un hilo puede encargarse de la interfaz, otro de cargar imágenes y otro de reproducir un vídeo.
🔹 Diferencia entre proceso e hilo
| Característica | Proceso | Hilo |
|---|---|---|
| Memoria | Tiene su propia memoria | Comparte la memoria del proceso |
| Peso | "Pesado" → requiere más recursos | "Ligero" → más eficiente |
| Comunicación | Más difícil (IPC) | Más fácil (comparten memoria) |
| Ejemplo | Abrir Word | Revisión ortográfica y auto-guardado en paralelo |
🔹 Multitarea
La multitarea es la capacidad del sistema operativo para ejecutar varios procesos o hilos a la vez.
- No significa que todos se ejecuten exactamente al mismo tiempo, sino que el procesador cambia tan rápido entre ellos que da la ilusión de simultaneidad.
👉 Tipos:
-
Multitarea cooperativa
- Cada proceso “cede” voluntariamente el control al SO.
- Ejemplo: MacOS clásico, Windows 3.1.
- Problema: si un proceso no cede, puede bloquear el sistema.
-
Multitarea preventiva
- El SO decide cuánto tiempo tiene cada proceso (planificación por quantum).
- Ejemplo: Windows modernos, Linux, macOS.
🔹 Multihilo (multithreading)
Cuando un proceso tiene varios hilos que se ejecutan en paralelo.
- Mejora el rendimiento: aprovecha mejor los procesadores multinúcleo.
- Permite aplicaciones más responsivas: un hilo puede atender al usuario mientras otro procesa datos.
🔹 Ejemplo práctico
Un editor de vídeo:
- Hilo 1 → Interfaz gráfica (mostrar botones, menús).
- Hilo 2 → Reproducción de vídeo.
- Hilo 3 → Exportación en segundo plano.
Todo ocurre dentro del mismo proceso, compartiendo recursos.
📌 Resumen rápido
- Hilo: unidad de ejecución más pequeña dentro de un proceso.
- Multitarea: ejecutar varios procesos/hilos a la vez.
- Cooperativa: los procesos ceden el control → poco fiable.
- Preventiva: el SO reparte el tiempo de CPU → más segura.
- Multithreading: varios hilos dentro de un proceso → eficiencia y mejor uso de CPU multinúcleo.
- Loading...