lunes, 27 de octubre de 2008

2.3 Procesos Ligeros Hilos o hebras

Basándonos en la investigación de Tanenbaum y Woodhull (1997) en la mayoría de los sistemas operativos, hay dos características que son, de hecho, la esencia de un proceso. Sin embargo, son independientes, y pueden ser tratadas como tales por el sistema operativo. Esta distinción ha conducido en los sistemas operativos actuales a desarrollar la construcción conocida como thread, cuyas traducciones más frecuentes son hilo, hebra y proceso ligero. Si se tiene esta división de características, la unidad de asignación de la CPU se conoce como hilo, mientras que a la unidad que posee recursos se le llama proceso.Dentro de un proceso puede haber uno o más hilos de control cada uno con:
  • Un estado de ejecución (en ejecución, listo, bloqueado).
  • Un contexto de procesador, que se salva cuando no esté ejecutándose.
  • Una pila de ejecución.
  • Algún almacenamiento estático para variables locales.
  • Acceso a la memoria y a los recursos de ese trabajo que comparte con los otros hilos.

Los autores Tanenbaum y Woodhull (1997) mencionan que los beneficios clave de los hilos se derivan de las implicaciones del rendimiento: se tarda menos tiempo en crear un nuevo hilo de un proceso que ya existe, en terminarlo, y en hacer un cambio de contexto entre hilos de un mismo proceso. Al someter a un mismo proceso a varios flujos de ejecución se mantiene una única copia en memoria del código, y no varias.

No hay comentarios: