miércoles, 7 de octubre de 2009

PROCESOS E HILOS

Unidad mínima de asignación: tarea.


Unidad mínima de expedición: hilo.




Dos hilos de una misma tarea (denominados hilos pares) comparten el segmento de código, el segmento de datos y un espacio de pila, es decir, los recursos asignados a la tarea.




Podemos captar la funcionalidad de los hilos si comparamos el control de múltiples hilos con el control de múltiples procesos. En el caso de los procesos, cada uno opera independientemente de los otros; cada proceso tiene su propio contador de programa, registro de pila, y espacio de direcciones.


Contexto del procesador.
Punto en el que estamos ejecutando, la instrucción concretamente en la que nos hallamos. Es útil a la hora de reanudar un hilo que fue interrumpido con anterioridad, puesto que al guardar el contexto, guardamos la ultima instrucción que ejecutamos, y así podemos conocer por donde tenemos que continuar la ejecución del hilo.

Pila de ejecución donde se irá metiendo y sacando instrucciones. (Lugar donde almacenaremos las instrucciones que van a ser ejecutadas).

Acceso a los recursos de la tarea, que son compartidos por todos los hilos de la tarea.
Ventajas del uso de hilos.
  • Se tarda menos tiempo en crear un hilo de una tarea existente que en crear un nuevo proceso.
  • Se tarda menos tiempo en terminar un hilo que en terminar un proceso.
  • Se tarda menos tiempo en cambiar entre dos hilos de una misma tarea que en cambiar entre dos procesos s mas sencillo la comunicación (paso de mensajes por ejemplo) entre hilos de una misma tarea que entre diferentes procesos.
  • Cuando se cambia de un proceso a otro, tiene que intervenir el núcleo del sistema operativo para que haya protección. Cuando se cambia de un hilo a otro, puesto que la asignación de recursos es la misma, no hace falta que intervenga el sistema operativo.

No hay comentarios:

Publicar un comentario