Procesos ligeros: Hilos o hebras
El concepto de proceso engloba dos conceptos separados y
potencialmente independientes: uno relativo a la propiedad de recursos y otro
que hace referencia a la ejecución. Unidad que posee recursos: A un proceso se
le asigna un espacio de memoria y, de tanto en tanto, se le puede asignar otros
recursos como dispositivos de E/S o ficheros.
Unidad a la que se le asigna el procesador: Un proceso es
un flujo de ejecución (una traza) a través de uno o más programas. Esta
ejecución se entremezcla con la de otros procesos. De tal forma, que un proceso
tiene un estado (en ejecución, listo, etc) y una prioridad de expedición u
origen. La unidad planificada y expedida por el sistema operativo es el
proceso.
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.
No hay comentarios.:
Publicar un comentario