Threads

Páginas: 8 (1811 palabras) Publicado: 8 de junio de 2014









DEPARTAMENTO DE CIENCIAS COMPUTACIONALES

ACADEMIA DE SOFTWARE DE SISTEMAS

SISTEMAS OPERATIVOS AVANZADOS

SECCIÓN D01

HILOS














Hilos / Threads

¿Qué son los Hilos?

El término hilo se refiere sintáctica y semánticamente a hilos de ejecución. Siendo estos las unidades de procesamiento más pequeñas en las que puede ser dividido un proceso yal mismo tiempo tener la capacidad de ser planificadas por un sistema operativo, con la característica de manejar computación concurrente, siendo esta la simultaneidad en la ejecución de múltiples tareas interactivas.

Estas tareas pueden ser un conjunto de procesos o hilos de ejecución creados por un único programa. Las tareas se pueden ejecutar en una sola unidad central de procesomultiprogramación, en varios procesadores o en una red de computadores distribuidos. Así, la correcta secuencia de interacciones o comunicaciones entre los procesos y el acceso coordinado de recursos que se comparten por todos los procesos o tareas son las claves de esta disciplina.

La creación de un nuevo hilo es una característica que permite a una aplicación realizar varias tareas a la vezconcurrentemente. 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.

Los hilos de ejecución que comparten los mismos recursos, sumados a estos recursos, son en conjunto conocidoscomo un proceso. El hecho de que los hilos de ejecución de un mismo proceso compartan los recursos hace que cualquiera de estos hilos pueda modificar éstos. Cuando un hilo modifica un dato en la memoria, los otros hilos acceden a ese dato modificado inmediatamente, es decir requieren de exclusión mutua y de sincronización. Un proceso sigue en ejecución mientras al menos uno de sus hilos de ejecuciónsiga activo. Cuando el proceso finaliza, todos sus hilos de ejecución también han terminado. Asimismo en el momento en el que todos los hilos de ejecución finalizan, el proceso no existe más y todos sus recursos son liberados. El término multihilo hace referencia a la capacidad de un SO para mantener varios hilos de ejecución dentro del mismo proceso, pues no todos tienen dicha capacidad y dehecho hay 4 escenarios básicos en la relación proceso – hilos.




En un SO con procesos monohilo un solo hilo de ejecución por proceso, en el que no existe el concepto de hilo, la representación de un proceso incluye su PCB, un espacio de direcciones del proceso, una pila de proceso y una pila núcleo.



En un SO con procesos multihilo, sólo hay un PCB y un espacio de direcciones asociadosal proceso, sin embargo, ahora hay pilas separadas para cada hilo y bloques de control para cada hilo.

Los hilos se pueden organizar de distintas formas para que cooperen entre sí en la resolución de un problema. Existen una serie de modelos típicos de organización de los hilos de un proceso.

Modelo servidor/trabajador : En este modelo un hilo funciona como supervisor asignando tareas a loshilos trabajadores. Después de que el trabajador ha finalizado su tarea, lo indica al supervisor o es el supervisor quien lo comprueba por sí mismo, para después recibir una nueva tarea. Es el modelo empleado en el primer ejemplo del servidor de archivos. Un hilo servidor que obtiene las solicitudes y las redirige a los hilos trabajadores, que realizan el servicio.



Modelo de cola detrabajo : Este modelo es una variante del modelo servidor/trabajador. En este modelo las tareas son colocadas por el servidor o supervisor en una cola que es accedida por los trabajadores hasta que se vacía.






Modelo de equipo : En este modelo múltiples hilos trabajan juntos en una tarea simple. Cada hilo realiza una parte de la tarea, como una casa en la que cada pintor pinta una parte de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Threads
  • Hilos (threads)
  • Threads
  • Threads
  • Threads
  • Proyecto pelota threads
  • Threads (hilos) java
  • Programación en posix threads (pthreads)

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS