Hilos
Sistemas Operativos
26/05/2014
CONTENIDO
1.
Uso de hilos
2.
Modelo clásico de hilo
3.
Hilos en POSIX
4.
Implementación de hilos en el
espacio deusuario, en el
kernel e híbridas
5.
Activaciones del planificador
6.
Hilos emergentes
7.
Conversión de código de
hilado simple a multihilado
2
26/05/2014
Uso de hilos
3Uso de hilos
26/05/2014
¿Diferencia entre Hilo y Proceso?
Memoria compartida!
RAZONES PARA USAR HILOS:
•
Desarrollar varias actividades a la vez en una aplicación
Evitar tener quepensar en interrupciones, temporizadores y beneficios en términos
de memoria
•
Son más ligeros que los procesos
Velocidad de creación y destrucción MAYOR
•
Gran cantidad de operacionesI/O
Mejor rendimiento al traslapar estas actividades
•
Útiles en sistemas con varias CPUs, donde el paralelismo es posible (Cap. 8)
4
Ejemplos
Otros ejemplos:
Servidor Web (Cap. 2 –pág. 98) – Aplicaciones que procesan gran cantidad de datos (Cap. 2 – pág. 100)
26/05/2014
Uso de hilos
¿Posibilidad de emplear Procesos y no Hilos?
Memoria compartida!
5
26/05/2014Modelo clásico de hilo
6
Modelo de procesos
Agrupamiento de
Recursos
•Proceso como
forma de
agrupar
recursos
relacionados
26/05/2014
Modelo clásico de hilo
¿Qué se comparte enProcesos?
Hardware compartido!
Ejecución
•Proceso es un
hilo en ejecución
(contador de
programa +
registros + pila)
7
Modelo clásico de hilo
Turnos de ejecución para hilos
•Independencia y Dependencia
entre hilos (gráfico)
No hay protección entre los hilos
pues no es necesario
Delegar con cuidado uso de recursos
de proceso
•
Estados de hilos: ejecución,bloqueado, listo o terminado
•
- Espacio de
direcciones
- Variables
globales
- Archivos
abiertos
- Procesos
hijos
- Contador
de programa
- Registros
- Pila
- Estado
Elementos por...
Regístrate para leer el documento completo.