domingo, 26 de octubre de 2014

2.3 Procesos Ligeros (Hilos y Hebras)

El concepto de proceso es más complejo y sutil que el presentado hasta ahora. Engloba dos conceptos separados y potencialmente independientes: uno relativo a la propiedad de recursos y otro que hace referencia a la ejecución.
Unidad que posee recursos: A un proceso se le asigna un espacio de memoria y, de tanto en tanto, se le puede asignar otros recursos como dispositivos de E/S o ficheros.

Unidad a la que se le asigna el procesador: Un proceso es un flujo de ejecución (una traza) a través de uno o más programas. Esta ejecución se entremezcla con la de otros procesos. De tal forma, que un proceso tiene un estado (en ejecución, listo, etc)

En la mayoría de los sistemas operativos, estas dos características son, de hecho, la esencia de un proceso. Sin embargo, son independientes, y pueden ser tratadas como tales por el sistema operativo. Esta distinción ha conducido en los sistemas operativos actuales a desarrollar la construcción conocida como thread, cuyas traducciones más frecuentes son hilo, hebra y proceso ligero

Beneficios

En la mayoría de los sistemas operativos, estas dos características son, de hecho, la esencia de un proceso. Sin embargo, son independientes, y pueden ser tratadas como tales por el sistema operativo. Esta distinción ha conducido en los sistemas operativos actuales a desarrollar la construcción conocida como thread, cuyas traducciones más frecuentes son hilo, hebra y proceso ligero

Un proceso ligero (thread o hebra) es un programa en ejecución que comparte la imagen de la memoria y otras informaciones con otros procesos ligeros.
CADA PROCESO LIGERO TIENE INFORMACIONES QUE LE SON PROPIAS Y QUE NO COMPARTE CON OTROS PROCESOS LIGEROS. LAS INFORMACIONES PROPIAS SE REFIEREN FUNDAMENTALMENTE AL CONTEXTO DE EJECUCION, PUDIENDOSE 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 INFORMACION DEL MISMO. EN CONCRETO, COMPARTEN:
Espacio de memoria.
Variables globales.
Archivos abiertos.
Procesos hijos.
Temporizadores.
Señales y semáforos.
Contabilidad.

ESTADOS DE LOS PROCESOS LIGEROS
Un proceso ligero puede estar ejecutando, listo o bloqueado
PARALELISMO

Los procesos ligeros permiten paralelizar una aplicación.


No hay comentarios.:

Publicar un comentario