Gestión de tareas (Procesos e Hilos) en vivo

¿Cómo puede tu computadora hacer "varias cosas a la vez"? El secreto de la multitarea.

Procesos vs. Hilos (Threads)

Proceso

Es un programa en ejecución. Tiene su propio espacio de memoria aislado y recursos. Es "pesado" de crear.

Ejemplo: Abrir Microsoft Word es crear un Proceso.

Hilo (Thread)

Es la unidad más pequeña de procesamiento. Viven DENTRO de un proceso y comparten su memoria. Son "ligeros".

Ejemplo: Dentro de Word, un hilo registra lo que escribes, otro hilo guarda en segundo plano y otro revisa la ortografía. ¡Todo a la vez!

Estados de un Proceso

Como una persona, un proceso pasa por estados:

  • Nuevo: Se está creando.
  • Listo (Ready): Esperando su turno en la CPU.
  • Ejecutando (Running): La CPU está trabajando en él.
  • Bloqueado (Waiting): Esperando algo (ej. que el usuario presione una tecla o que un archivo se lea del disco).
  • Terminado: Finalizó su tarea o fue eliminado.

Monitorizando Procesos en Linux

Podemos ver la gestión en tiempo real con comandos como top o htop.

top

Para ver los procesos de tu usuario:

ps -u tu_usuario

Galería de Videos

Gestión de Procesos en Linux
Procesos e Hilos (Threads)

Referencias Bibliográficas

  • Silberschatz, A. (2018). Operating System Concepts, 10th Ed. Wiley.
  • Love, R. (2010). Linux Kernel Development, 3rd Edition. Addison-Wesley.
  • Kerrisk, M. (2010). The Linux Programming Interface. No Starch Press.