Está en la página 1de 2

Hilos (Threads)

Un hilo de ejecucin, hebra o subproceso es la unidad de procesamiento ms pequea que puede ser planificada por un sistema operativo. La creacin de un nuevo hilo es una caracterstica que permite a una aplicacin realizar varias tareas a la vez (concurrentemente). Los distintos hilos de ejecucin comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situacin de autenticacin, etc. Esta tcnica permite simplificar el diseo de una aplicacin que debe llevar a cabo distintas funciones simultneamente. Cada hilo se ejecuta en forma estrictamente secuencial y tiene su propio contador de programa una pila para llevar un registro de su posicin. Un hilo es simplemente una tarea que puede ser ejecutada al mismo tiempo con otra tarea.

Ventajas de usar hilos Respuesta: el tiempo de respuesta mejora, ya que el programa puede continuar ejecutndose, aunque parte de l est bloqueado. Compartir recursos: los hilos comparten la memoria y los recursos del proceso al que pertenecen, por lo que se puede tener varios hilos de ejecucin dentro del mismo espacio de direcciones. Economa: Es ms fcil la creacin, cambio de contexto y gestin de hilos que de procesos. Utilizacin mltiples CPUs: permite que hilos de un mismo proceso ejecuten en diferentes CPUs a la vez. En un proceso mono-hilo, un proceso ejecuta en una nica CPU, independientemente de cuantas tenga disponibles.

Hilos a nivel de Usuario Son implementados en alguna librera. Estos hilos se gestionan sin soporte del SO, el cual solo reconoce un hilo de ejecucin. Hilos a nivel de Kernel: Los hilos a nivel de kernel tienen como gran beneficio poder aprovechar mejor las arquitecturas multiprocesadores, y que proporcionan un mejor tiempo de

respuesta, ya que si un hilo se bloquea, los otros pueden seguir ejecutando.

Multihilos
Tienen soporte en hardware para ejecutar eficientemente mltiples hilos de ejecucin. Es una forma especializada de la multitarea. Una cierta crtica del multihilo incluye:

Los mltiples hilos pueden interferir uno con el otro al compartir recursos de hardware como cachs. Los tiempos de ejecucin de un solo hilo no son mejorados, sino por el contrario, pueden ser degradados. El soporte de hardware para multihilo es ms visible al software que el multiprocesamiento, por lo tanto requiriendo ms cambios tanto a las aplicaciones como el sistema operativo.

Las tcnicas de hardware usadas para soportar multihilo a menudo paralelizan las tcnicas de software usadas para la multitarea de los programas de computadora.