Sei sulla pagina 1di 12

Definicin de Proceso Ligero

Desde el punto de vista de la programacin, un proceso ligero se define como una funcin cuya ejecucin se puede lanzar en paralelo con otras. El hilo de ejecucin primario, o proceso ligero primario, corresponde a la funcin main.

Cada proceso ligero tiene informaciones que le son propias y que no comparte con otros procesos ligeros. Las informaciones propias se refieren al contexto de ejecucin, pudindose destacar las siguientes: --Contador de programa. --Pila. --Registros. --Estado del proceso ligero (ejecutando, listo o bloqueado).

Todos los procesos ligeros de un mismo proceso comparten la informacin del mismo. En concreto, todos comparten: Espacio de memoria. Variables globales. Archivos abiertos. Procesos hijos. Temporizadores. Seales y semforos. Contabilidad. los datos y las pilas de los diferentes procesos ligeros

Esto hace que no exista proteccin de memoria entre los procesos ligeros de un mismo proceso, algo que si ocurre con los procesos convencionales.

Hilos o Hebras
Una hebra es la unidad bsica de utilizacin de la CPU. La cual Consta de: Contador de programa. Conjunto de registros. Espacio de pila. Estado

Podemos decir tambin que un hilo no es ms que la habilidad de un proceso o programa para dividirse en varios hilos de ejecucin simultneos o aparentemente simultneos.

Una tarea es la unidad de propiedad de los recursos. Seccin de cdigo. Seccin de datos. Recursos del SO (archivos abiertos, seales,..). Una hebra comparte con sus hebras pares una tarea.

La memoria y los recursos son asignados a los procesos Todos los hilos de un proceso comparten la memoria y los recursos asignados a ese proceso Sin embargo, cada hilo tiene un contexto diferente El procesador es el nico recurso que no se comparte entre los hilos Cada hilo tiene una pila diferente Un proceso puede ser formado por uno o ms hilos

Tipos de Hilos
Espacio de Usuario
Se utilizan aplicaciones o bibliotecas para gestionar los hilos El sistema operativo no conoce la existencia de hilos

Espacio del Sistema


El S.O conoce la existencia de hilos El planificador selecciona hilos para despachar y no procesos El hilo seleccionado puede pertenecer al mismo proceso o a uno distinto

Estado de los Hilos


El estado de un proceso determinado est dado por la combinacin del estado de todos sus hilos. Si uno de los hilos est en estado de ejecucin entonces el proceso se encuentra tambin en estado de ejecucin Si ningn hilo se est ejecutando pero alguno est en estado de listo, el proceso estar en estado de listo Un proceso estar bloqueado si todos sus hilos estn bloqueados.

Diferencia entre Proceso e Hilo


Un proceso es una entidad relativamente independiente que dispone de su propio espacio de direcciones, su propia informacin de estado y que utiliza los mecanismos de comunicacin entre procesos que le proporciona el sistema operativo para comunicarse con otros procesos. Mientras que, un hilo es una entidad ms reducida capaz de convivir junto a otros hilos bajo el contexto de un nico proceso, permitiendo compartir la informacin de estado, el rea de memoria y/o los recursos asociados a ese proceso.

Beneficios.
Los beneficios clave de los hilos se derivan de las implicaciones del rendimiento: se tarda menos tiempo en crear un nuevo hilo de un proceso que ya existe, en terminarlo, y en hacer un cambio de contexto entre hilos de un mismo proceso. Al someter a un mismo proceso a varios flujos de ejecucin se mantiene una nica copia en memoria del cdigo, y no varias.