Hilos Concepto Beneficios Hilos a nivel kérnel y a nivel usuario Modelos multihilos Hilos de Solaris 2 Hilos de Java
Hilos Un hilo (o proceso ligero) es una unidad básica de utilización del CPU; consiste de: Contador de programa Conjunto de registros Espacio de stack
Hilos Un hilo comparte con sus hilos pares: Sección de código Sección de datos Recursos del sistema operativo En conjunto se les conoce como tarea Un proceso tradicional o pesado, es igual a una tarea con un hilo.
(Gp:) un proceso un hilo
(Gp:) varios procesos un hilo por proceso
(Gp:) varios procesos varios hilos por proceso
(Gp:) un proceso varios hilos
Hilos y procesos
(Gp:) Código (Gp:) Datos (Gp:) Archivos
(Gp:) Código (Gp:) Datos (Gp:) Archivos
Hilo Hilos Mono-hilo Multi-hilo Procesos con un solo hilo y con múltiples hilos
Bloque de control del hilo Stack del usuario Stack del usuario Stack del kernel Stack del Kernel Espacio de direcciones del usuario Espacio de direcciones del usuario Bloque de control del proceso Bloque de control del proceso Hilo Modelo de proceso de un solo hilo Modelo de proceso multihilos Bloque de control del hilo Stack del usuario Stack del kernel Hilo Bloque de control del hilo Stack del usuario Stack del kernel Hilo Modelos de procesos de un solo hilo y de muchos hilos
Multihilo Sistema operativo que mantiene varios hilos de ejecución dentro de un mismo proceso. MS-DOS soporta un solo hilo. UNIX soporta múltiples procesos de usuarios, pero sólo un hilo por proceso. Windows 2000, Solaris, Linux, Mac OS, OS/2 soportan múltiples hilos.
Hilos En una tarea donde hay múltiples hilos, mientras un hilo servidor está bloqueado y esperando, otro hilo en la misma tarea puede ejecutarse. Cooperación de múltiples hilos en la misma tarea aumenta la tasa de trabajos por unidad tiempo y mejora el rendimiento. Aplicaciones que requieren compartir un buffer común (productor-consumidor) sacan provecho de la utilización de hilos.
Hilos Los hilos proveen un mecanismo que permiten a procesos secuenciales hacer llamadas bloqueantes mientras otros en paralelo ejecutan otras operaciones.
Beneficios Compartición de recursos Economía Utilización de arquitecturas de múltiples procesadores
Hilos a nivel usuario El manejo de los hilos lo hace una librería de hilos a nivel usuario
Ejemplos – Hilos POSIX – Mach C-threads – Hilos de Solaris
Hilos a nivel usuario (un CPU con dos núcleos) Nivel kérnel (sistema operativo) Nivel usuario Proceso de usuario gestiona y planifica los múltiples hilos Core Core CPU Hardware Planificador del SO
Página siguiente |