Documente Academic
Documente Profesional
Documente Cultură
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
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.