Hilos

 ¿Qué es un hilo en SO?

Un hilo es una unidad básica de utilización de CPU, la cual contiene un id de hilo, su propio program counter, un conjunto de registros, y una pila; que se representa a nivel del sistema operativo con una estructura llamada TCB (thread control block).

Un hilo es simplemente una tarea que puede ser ejecutada al mismo tiempo con otra tarea.

Hilos a nivel de usuario y a nivel de Kernel

  • A nivel de usuario: son implementados en alguna librería. Estos hilos se gestionan sin soporte del SO, el cual solo reconoce un hilo de ejecución.
  • A nivel de Kernel: el SO es quien crea, planifica y gestiona los hilos. Se reconocen tantos hilos como se hayan creado.
Cambios de estado de un hilo
  • Creación: Cuando se crea un proceso, se crea un hilo para ese proceso.
  • Bloqueo: Cuando está a la espera de un proceso de bloquea, dejando al procesador trabajar otro hilo.
  • Desbloqueo
  • Terminación

Ventajas de usar hilos

  • Mejora el tiempo de respuesta, permite que el programa continue ejecutándose aunque parte de él se encuentre bloqueado
  • Comparten memoria y los recursos del proceso al que pertenecen.
  • Ejecución de un mismo proceso en varias CPUs.




Comentarios