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ísticaProcesoHilo
MemoriaTiene su propia memoriaComparte la memoria del proceso
Peso"Pesado" → requiere más recursos"Ligero" → más eficiente
ComunicaciónMás difícil (IPC)Más fácil (comparten memoria)
EjemploAbrir WordRevisió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:

  1. 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.
  2. 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...