ClaseThreads

Páginas: 8 (1903 palabras) Publicado: 17 de octubre de 2015
Hilos (threads)

Realizado por M. Curiel

Definiciones
Un proceso es una entidad que posee 2 características
importantes:
- Recursos: un espacio de direcciones (programas,
datos, pila y un PCB), archivos, memoria, etc. El
SOP realiza la función de protección para evitar
interferencias no deseadas entre procesos en
relación con los recursos.
- Planificación/Ejecución: El proceso sigue una ruta
deejecución. Tiene un PC, un estado de ejecución
(Listo, bloqueado, ejecutándose, etc.) y una
prioridad.

Definiciones




Estas dos características son
independientes y pueden ser tratadas
como tales por los sistemas operativos.
En algunos sistemas operativos se le
denomina hilo (thread) a la unidad
activa y a la unidad propietaria de
recursos se le suele denominar proceso
o tarea. Definiciones
En un entorno multihilo se le asocia a los
procesos:
 Un espacio de direcciones virtuales que
soporta la imagen del proceso.
 Acceso protegido a procesadores, a
otros procesos, archivos y recursos de
E/S

Definiciones
A cada hilo se le asocian :
 Un estado de ejecución.
 Un PC, un contexto (conjunto de registros) que
se almacena cuando no está en ejecución.
 Una pila.
 Un espacio dealmacenamiento para variables
locales.
 Acceso a la memoria y recursos del proceso.

Características de los hilos






No existe forma de predecir el orden de
ejecución o el orden de culminación de
varios hilos.
Los hilos son invisibles fuera de los
límites del programa o proceso que los
contiene.
Los hilos tienen su propia identidad,
i.e., pila, PC, registros, prioridad.



Un programamultihilos es un proceso que
contiene más de un hilo. Cada hilo dentro del
programa es como un mini-programa con
exactamente las mismas propiedades que se
mencionaron previamente.

Comunicación


Por pertenecer a diferentes espacios de
direcciones, la comunicación entre
procesos sólo es posible utilizando
llamadas al sistema.

Mecanismos de Comunicación entre procesos

Comunicación entre Hilos
Cada hilo dentro de un proceso es
una entidad independiente, pero
dado que los hilos forman parte de
un mismo proceso o espacio de
direcciones, la comunicación entre
hilos es mucho más rápida y
simple.

Comunicación entre hilos


La comunicación entre varios hilos se

lleva
a cabo a través de recursos del
proceso usuario, no a través de los
recursos del kernel.

Cambios de Contexto


Los hiloscomparten el mismo espacio
de direcciones. Por lo tanto el “cambio
de contexto” entre un hilo y otro,
pertenecientes al mismo proceso,
pudiera hacerse de forma totalmente
independiente del sistema operativo
(hilos a nivel de usuario)

Cambios de Contexto


Los cambios de contexto de los
procesos son más costosos.
Implican salvar el contexto del
proceso, cambio de modo (trap al
sistemaoperativos, etc) y otro
cambio de modo para restaurar
contexto del nuevo proceso.

Otras características de los
hilos



Cada hilo es independiente de otro hilo.
No obstante, ciertas acciones que un hilo
ejecuta afectarán a otros hilos dentro del
mismo proceso. Por ejemplo:

• Si un hilo abre un archivo, el archivo estará


abierto para el resto de los threads dentro del
mismo proceso.
Si un hilotermina usando la llamada al sistema
exit(), esto provocará que todos los threads
dentro del mismo proceso terminen.

Por qué usar hilos?
Los mayores beneficios de los hilos provienen de las
consecuencias del rendimiento:


Lleva mucho menos tiempo crear un
hilo en un proceso existente, que crear un
proceso totalmente nuevo. La creación de un
hilo puede ser hasta 10 veces más rápida
que la creación deun proceso en Unix.



Lleva menos tiempo
que un proceso.

finalizar un hilo

Por qué usar hilos?

• Lleva menos tiempo el cambio de
hilo que el cambio de proceso.

• Debido a que los threads son parte del
mismo proceso, el compartir datos
entre ellos es muy fácil; todo los hilos
tienen acceso a los datos globales. No se
necesitan llamadas al sistema para su
comunicación.

Por qué usar...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS