miércoles

2.3 Procesos ligeros: hilos ó hebras

En la mayoría de los sistemas operativos, estas dos características 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 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. Un proceso ligero (thread o hebra) es un programa en ejecución que comparte la imagen de la memoria y otras informaciones con otros procesos ligeros.


Tareas con una y varias hebras
* Es una unidad básica de utilización de la CPU consistente en un juego de registros y un espacio de      pila. Comparte el código, los datos y los recursos con sus hebras pares
* Una tarea (o proceso pesado) está formada ahora por una o más hebras
* Una hebra sólo puede pertenecer a una tarea

Estados de los Procesos ligeros
Un proceso ligero puede estar ejecutando, listo o bloqueado.

Paralelismo
Los procesos ligeros permiten paralelizar una aplicación

No hay comentarios.:

Publicar un comentario