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
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 ejecución se mantiene una única copia en memoria del código, y
no varias.
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.
Es una unidad básica de utilización de la
CPU consistente en un juego de registros y un espacio de pila. Comparte el
código, los datos y los recursos con sus hebras pares
qUna
tarea (o proceso pesado) está formada ahora por una o más hebras
qUna
hebra sólo puede pertenecer a una tarea
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.
No hay comentarios:
Publicar un comentario