domingo, 3 de mayo de 2015

Hilos y hebras

Es la unidad de procesamiento más pequeña que puede ser planificada por un sistema operativo.

Un hilo es simplemente una tarea que puede ser ejecutada al mismo tiempo con otra tarea.
Un hilo es una característica que permite a una aplicación realizar varias tareas a la vez.
Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente.














Diferencias entre hilo y proceso:

- Hilos:
Los procesos son generalmente independientes, llevan bastante información de estados, e interactúan sólo a través de mecanismos de comunicación dados por el sistema.


- PROCESOS:
Los hilos generalmente comparten otros recursos de forma directa, además los hilos comparten datos y espacios de direcciones.


Ventajas de un hilo respecto a un proceso 

Se tarda mucho menos tiempo en crear un hilo nuevo en un proceso existente que en crear un proceso. Algunas investigaciones llevan al resultado que esto es así en un factor de 10.

- Se tarda mucho menos en terminar un hilo que un proceso, ya que cuando se elimina un
proceso se debe eliminar el BCP1 del mismo, mientras que un hilo se elimina su contexto y
pila.

Se tarda mucho menos tiempo en cambiar entre dos hilos de un mismo proceso.

Los hilos aumentan la eficiencia de la comunicación entre programas en
ejecución. Los hilos pueden comunicarse entre sí sin la invocación al núcleo.


ESTADOS DE UN HILO:
- Creación: Cuando se crea un proceso se crea un hilo para ese proceso. Luego, este hilo puede crear otros hilos dentro del mismo proceso, proporcionando un puntero de instrucción y los argumentos del nuevo hilo.
- Bloqueo: Cuando un hilo necesita esperar por un suceso, se bloquea (salvando sus registros de usuario, contador de programa y punteros de pila). Ahora el procesador podrá pasar a ejecutar otro hilo que esté al principio de los Listos mientras el anterior permanece bloqueado.
- Desbloqueo: Cuando el suceso por el que el hilo se bloqueó se produce, el mismo pasa a la final de los Listos.
Terminación: Cuando un hilo finaliza se liberan tanto su contexto como sus columnas.

LOS MULTIHILOS


No hay comentarios.:

Publicar un comentario