Hilos Sistema Operativo
Hilos Sistema Operativo
Hilos Sistema Operativo
Hilos a nivel e usuario: son implementados en alguna librera. Estos hilos se gestionan sin
soporte del SO, el cual solo reconoce un hilo de ejecucin.
Hilos a nivel de kernel:
El SO es quien crea, planifica y gestiona los hilos. Se reconocen tantos hilos como se hayan
creado.
Los hilos a nivel de usuario tienen como beneficio que su cambio de contexto es ms sencillo
que el cambio de contexto entre hilos de kernel. A dems, se pueden implementar an si el
SO no utiliza hilos a nivel de kernel. Otro de los beneficios consiste en poder planificar
diferente a la estrategia del SO.
Los hilos a nivel de kernel tienen como gran beneficio poder aprovechar mejor las
arquitecturas multiprocesadores, y que proporcionan un mejor tiempo de respuesta, ya que si
un hilo se bloquea, los otros pueden seguir ejecutando.
Cmo se relacionan los hilos a nivel de kernel y los de usuario?
Existen 3 formas para establecer la relacin
Modelo Mx1 (Many to one)
El modelo asigna mltiples hilos de usuario a un hilo del kernel.
Este caso se corresponde a los hilos implementados a nivel de usuario, ya que el sistema
solo reconoce un hilo de control para el proceso.
Tiene como inconveniente que si un hilo se bloquea, todo el proceso se bloquea.
Tambin, dado que solo un hilo puede acceder al kernel cada vez, no podrn ejecutarse
varios hilos en paralelo en mltiples CPUs.
Los hilos son un concepto relativamente nuevo de los SO. En este contexto, un proceso
recibe el nombre de proceso pesado, mientras que un hilo recibe el nombre de proceso
ligero.
El trmino hilo se refiere sintctica y semnticamente a hilos de ejecucin.
El trmino multihilo hace referencia a la capacidad de un SO para mantener varios hilos de
ejecucin dentro del mismo proceso.
En un SO con procesos monohilo (un solo hilo de ejecucin por proceso), en el que no existe
el concepto de hilo, la representacin de un proceso incluye su PCB, un espacio de
direcciones del proceso, una pila de proceso y una pila ncleo.