Professional Documents
Culture Documents
Sistemas Operativos 1
Universidad de San Carlos de Guatemala, Marzo de
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
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.
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
Comparativa entre tipos de
hilos
Hilos del Hilos de
Kernel usuario
Cambio de
Lento Rápido
contexto
Al bloquearse un Al bloquearse
hilo el proceso no un hilo el
Bloqueos
tiene que proceso debe
bloquearse bloquearse
DO
S
Un Proceso, Un Un Proceso, Múltiples
Hilo Hilos
Window
s
Linux
UNIX Solaris
Mac OS
OS/2
Múltiples Procesos, un Múltiples Procesos
Hilo por Proceso Múltiples Hilos
Traza 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.
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.
Estados de los hilos
• El estado del Proceso P es la combinación de los
estados de sus Hilos.
• Licencia