Anda di halaman 1dari 3

Hilos de Ejecucin

Los Hilos son tareas que se ejecutan concurrentemente y que comparten una serie de recursos del
S.O. ficheros, E/S.ect
Unidad Bsica de ejecucin de utilizacin de la CPU. Comparte con otras hebras que pertenecen al
mismo procesos la seccion de codigo, la seccion de datos y otros recursos del sistema operativo
Por que utilizar Hilos?
Necesitamos Realizar varias tareas Simultneamente
Deseamos ejecutar una tarea muy pesada que requiere mucho esfuerzo y tiempo
Generalmente, cada hilo tiene una tarea especifica y determinada, como forma de aumentar la
eficiencia del uso del procesador.
Diferencia entre Proceso e Hilo?
Proceso
Son Independientes y Manejan bastante informacin de estados.
Su interaccin es a base de mecanismos de comunicacin
Hilo
Comparten sus recursos de forma directa.
El tiempo que tardan en cambiar de estado es relativamente bajo
Por ejemplo, un explorador web puede tener una hebra para mostrar imgenes o texto mientras
que otra hebra recupera datos de la red.
Elementos de un Hilo
Id Hilo
Contador de Programa
Registros
Pila

Comparte
Seccin de Cdigo
Seccin de Datos
Recursos




Proceso monohebra y multihebra



Diferencias entre Hilo y Proceso
Los hilos comunican entre s a travs de comunicacin privada mientras que los procesos
haciendo uso de los mecanismos de comunicacin entre los procesos.
Mayor eficiencia en el cambio de un Hilo a otro, que de un Proceso a otro.
Mayor eficiencia en la creacin de un hilo que en la creacin de un proceso hijo.
Implementacin de Hilos
Hilos de Usuario
El soporte para los hilos de usuario se proporcionan por encima del Kernel y se
gestionan sin la utilizacin del mismo.
Hilos del Kernel
El sistema operativo soporta y gestiona directamente los hilos del kernel.
Desventajas
Hilos de Usuario
Su desventaja es que el bloqueo de un hilo produce el bloqueo del resto de los
hilos de la tarea.
Hilos del Kernel
Su desventaja es que la conmutacin de un hilo a otro se hace mediante
interrupciones, que producen sobrecarga.
Modelos MultiHebra
Existen 4 formas de establecer una relacin entre los Hilos de Usuario y los del Kernel.
Modelo muchos a uno
Uno a uno
Muchos a muchos
Dos niveles




Modelo muchos-a-uno: Asigna mltiples hebras del nivel de usuario a una hebra del
kernel.
Modelo uno-a-uno: Asigna cada hebra de usuario a una hebra del kernel
Modelo muchos-a-muchos: Multiplexa muchas hebras de usuario sobre un nmero
menor o igual de hebras del kernel.
CICLO DE VIDA DE UN HILO
Crear
Cuando se crea un proceso, se crea un hilo para ese proceso
Bloqueo
Cuando un hilo necesita de esperar un suceso
Desbloqueo
El suceso por el que el hilo se bloque se produce
Terminacin
hilo finaliza

VENTAJAS
1. Capacidad de Respuesta: El uso de mltiples hilos en una aplicacin interactiva, permite que un
programa pueda seguir ejecutndose aunque parte de l est bloqueado, incrementa la capacidad
de respuesta al usuario.
2. Comparticin de Recursos: Por omisin los hilos comparten memoria y recursos del proceso al
que pertenecen.
3. Economa: Dado que los hilos comparten recursos del proceso al que pertenecen, es ms
econmico realizar cambios de contexto entre hilos.
4. Utilizacin de la Arquitectura Multiprocesador: Los hilos pueden ejecutarse en paralelo en los
diferentes procesadores.

ADEMAS
La mayoria de los sistemas modernos proporcionan soporte para hilos del Kernel, entre
ellos Windows 98, NT, 2000, XP
Las bilbiotecas de hilos proporcionan al programador un API para crear hilos. Las 3
principales son: Pthreads de POSIX, Win32 de Windows, y los Hilos en Java.
Otras cuestiones relevantes son: la cancelacin de hilos, tratamiento de seales y datos
especficos de los hilos

Anda mungkin juga menyukai