Está en la página 1de 13

SISTEMA OPERATIVO

HILOS
JUAN SNCHEZ

MARA ROS

HILOS (threads)
Un hilo es una secuencia de cdigo en ejecucin dentro del contexto
de un proceso. Los hilos no pueden ejecutarse ellos solos; requieren
la supervisin de un proceso padre para correr. Dentro de cada
proceso hay varios hilos ejecutndose.
Los hilos a menudo son conocidos o llamados procesos ligeros. Un
hilo, en efecto, es muy similar a un proceso pero con la diferencia de
que un hilo siempre corre dentro del contexto de otro programa. Por
el contrario, los procesos mantienen su propio espacio de
direcciones y entorno de operaciones.

POR QU USAR HILOS?


Los mayores beneficios de los hilos provienen de las consecuencias del
rendimiento.
Lleva mucho menos tiempo crear un hilo en un proceso existente, que
crear un proceso totalmente nuevo.
Lleva menos tiempo finalizar un hilo que un proceso.
Lleva menos tiempo el cambio de hilo que el cambio de proceso.
Debido a que los threads son parte del mismo proceso, el compartir datos
entre ellos es muy fcil; todo los hilos tienen acceso a los datos globales.
No se necesitan llamadas al sistema para su comunicacin.

POR QU USAR HILOS?

POR QU USAR HILOS?


Modelo de hilos
Modelo con un solo hilo
Modelo de maquina de estado finito

MODELO CLSICO DE LOS HILOS


Agrupacin de recursos y ejecucin
Estructura de un hilo.
Elemento de un hilo
Elementos de un proceso
Estado de un hilo

HILOS EN POSIX
El estndar IEEE define ms de 60 llamadas a funciones
incluidos en el paquete de hilos conocidos como Pthreads.

IMPLEMENTACIN DE HILOS A NIVEL


DE USUARIO
Son implementados por el
usuario en alguna librera como
Ptreads (POSIX Treads).
El kernel desconoce de los hilos
creados.
Como no se involucra al kernel
las operaciones con los hilos
son mas rpidas.
La librera acta como un
microkernel que controla la
ejecucin de los hilos

Cada proceso necesita su propia


tabla de hilos privada para llevar
la cuenta de hilos en ese proceso

IMPLEMENTACIN DE HILOS A NIVEL


DE KERNEL
En lo que al kernel concierne esta
administrado proceso con un solo
hilo.
El sistema operativo es quien
crea , planifica, y gestiona los
hilos. por ende reconoce tantos
hilos se hayan creado.
Cuando hilo desea crear un nuevo
hilo o destruir uno existente
simplemente hace llamado al
kernel. Para que mediante la
actualizacin de la tabla realice la
operacin pertinente

No hay tabla de hilo en cada


proceso en vez de ella el kernel
tiene una tabla de hilo que lleva la
cuenta de todos los hilos en el
sistema

IMPLEMENTACIONES HBRIDAS
Son varias formas de tratar de combinar las
ventajas de los hilos de nivel usuario con
los hilos de nivel kernel.
En este modelo, cada hilo de nivel kernel
tiene algn conjunto de hilos de nivel
usuario que toman turnos para utilizarlo.

ACTIVACIONES DEL PLANIFICADOR


Aunque los hilos de kernel son mejores que los hilos de
nivel usuario en ciertas formas clave, tambin son sin
duda ms lentos.
Los objetivos del trabajo de una activacin del
planificador son imitar la funcionalidad de los hilos de
kernel, pero con el mejor rendimiento y la mayor
flexibilidad que por lo general se asocian con los
paquetes de hilos implementados en espacio de usuario.

HILOS EMERGENTES
Hacer que el hilo emergente se ejecute en espacio de kernel es por lo
general ms rpido y sencillo que colocarlo en espacio de usuario.
Adems, un hilo emergente en espacio de kernel puede acceder con
facilidad a todas las tablas del kernel y a los dispositivos.

CONVERSIN DE CDIGO DE HILADO SIMPLE A


MULTIHILADO

Muchos programas existentes se escribieron para procesos con un


solo hilo. Es mucho ms difcil convertir estos programas para que
utilicen multihilamiento de lo que podra parecer en un principio.