hilos de ejecución

12
Hilos Guatemala, Marzo de 2009 Universidad de San Carlos de Guatemala istemas Operativos 1

Upload: pedro-domingo

Post on 10-Jun-2015

8.856 views

Category:

Documents


8 download

DESCRIPTION

Conceptos generales de lo que son los hilos de ejecución, sus tipos y características de este

TRANSCRIPT

Page 1: Hilos de ejecución

HilosHilos

Guatemala, Marzo de 2009Universidad de San Carlos de GuatemalaUniversidad de San Carlos de Guatemala

Sistemas Operativos 1Sistemas Operativos 1

Page 2: Hilos de ejecución

Conceptos (I) Hilos de ejecución. Procesos ligeros Subprocesos de un proceso La memoria y los recursos son asignados a los

procesos Todos los hilos de un proceso comparten la memoria y

los recursos asignados a dicho proceso Cada hilo tiene un contexto diferente Puede decirse que el recurso CPU no es compartido Cada hilo tiene una pila diferente

Page 3: Hilos de ejecución

Conceptos (II)

• Comparten los recursos del proceso. Un proceso puede ser formado por uno o varios hilos.

• Permiten realizar varias actividades en paralelo.• Tiene estados de ejecución, listo y bloqueado.

Page 4: Hilos de ejecución

Tipos de hilos

• Hilos a nivel de usuario– Se usan aplicaciones o bibliotecas de hilos para manejarse (Creación,

destrucción, planificación).– El S.O. no conoce la existencia de los hilos– (Unix) Existe un único hilo por proceso– Hay un paquete de hilos que corre en el espacio del usuario

• Hilos a nivel de Kernel

– El sistema operativo conoce la existencia de los hilos.– El planificador no selecciona procesos para ser ejecutados sino hilos.– El hilo seleccionado puede pertenecer al mismo proceso o a un

proceso diferente

Page 5: Hilos de ejecución

Comparativa entre tipos de hilos

Hilos del Kernel Hilos de usuario

Cambio de contexto Lento Rápido

BloqueosAl bloquearse un hilo el proceso no tiene

que bloquearse

Al bloquearse un hilo el proceso debe

bloquearse

Planificación Expropiativa No expropiativa

Page 6: Hilos de ejecución

Hilos y Procesos (I)

Los hilos que maneja un proceso pueden ser de 2 tipos:– Mono-Hilo: Si un procesos solo puede manejar

un hilo.– Multi-Hilo: Si un proceso puede manejar varios

hilos.

Page 7: Hilos de ejecución

Hilos y Procesos (II)

Un Proceso, Un Hilo Un Proceso, Múltiples Hilos

Múltiples Procesos, un Hilo por Proceso

Múltiples Procesos Múltiples Hilos

DOSDOS

UNIXUNIXWindowsLinuxSolarisMac OSOS/2

WindowsLinuxSolarisMac OSOS/2

Traza de Ejecución

Page 8: Hilos de ejecución

Ejemplos de aplicaciones multi-hilo• Web browser

– Un Hilo decodifica la página y la presenta en Pantalla. – Un Hilo toma los datos de la página de Internet.

• Procesador de Texto.– Un Hilo despliega en Pantalla la interfaz.– Un Hilo toma los datos del Teclado.– Un Hilo revisa la ortografía.

• Servidor Web– Un Hilo acepta peticiones de los clientes.– Para cada petición recibida se crea un Hilo que la atiende.– Usa muchos Hilos para atender en paralelo a muchos clientes.

Page 9: Hilos de ejecución

Diferencias entre hilo y proceso• Permiten paralelismo dentro de un Proceso ó Aplicación.• Comunicación privada entre varios Hilos del mismo proceso, sin solicitar

intervención del S.O.• Mayor eficiencia en el cambio de un Hilo a otro, que de un Proceso a otro.• Mayor eficiencia en la creación de un Hilo que en la creación de un Proceso

Hijo.• Un Proceso Multihilo puede recuperarse de la “muerte” de un Hilo, pues

conoce los efectos de esta, y toma su espacio de memoria.• Cuando un Proceso “muere” todos sus Hilos también, pues los recursos de

Proceso son tomados por el Sistema Operativo.

Page 10: Hilos de ejecución

Estados de los hilos• El estado del Proceso P es la combinación de los estados de sus

Hilos.

• Cuando cualquiera de los Hilos está en estado “Ejecutando”, el estado de P será “Ejecutando”.

• Si ningún Hilo está en “Ejecutando”, si alguno está en “Listo”, el estado de P será “Listo”.

• El estado de P es “Bloqueado” sólo si todos sus Hilos están en estado “Bloqueado”.

Page 11: Hilos de ejecución

Referencias

• Implementacion de hilos de ejecucion en sistemas GNU/Linux http://nomeriasdeti.no-ip.com/files/docs/IHEGL.pdf

Page 12: Hilos de ejecución

Acerca del autor y la licencia

• Pedro Domingo– http://elcopypaste.wordpress.com– [email protected]

• Licencia