Jerarquías de procesos

Un proceso es un objeto independiente del programa que ejecuta su propio código y que puede tener sus propias coordenadas, gráficos, etc., por ejemplo, pueden ser procesos de un programa: una nave, un disparo o un enemigo.

Cuando un programa comienza a ejecutarse sólo existe un proceso; el proceso inicial que es el que comienza a ejecutar las sentencias del código principal, pero, a partir de entonces, éste puede crear nuevos procesos y éstos, a su vez, otros, destruirse procesos, etc.

Para aclarar los acontecimientos que van sucediendo en un programa se establece un símil, que es hablar de los procesos como si fueran seres vivos que nacen y mueren (cuando se crean y destruyen). Por ello, se establecen los siguientes términos:

Padre, denominación que se da al proceso que ha creado a otro (la verdad es que se debería haber llamado madre).

Hijo, el proceso que ha sido creado por otro.

Hermanos, procesos que han sido creados por el mismo padre.

Huérfano, proceso cuyo padre ha muerto (ha sido eliminado o a finalizado).

Y esta jerga se puede extender hasta donde llegue la imaginación, abuelos, nietos, tíos, etc.

Todos los procesos tienen acceso a los códigos identificadores de los procesos con los que tienen parentesco directo (ver: Formas de obtener el {#1039,código identificador de un proceso}.

En ocasiones, se hace referencia a acciones hechas por "el sistema"; este proceso, denominado div_main, es el que controla al resto, por tanto es el encargado de crear el proceso inicial al comienzo de la ejecución, de ajustar la velocidad de ejecución, el trazador, etc. Todos los procesos que se quedan huérfanos pasan a ser hijos de este proceso.

El identificador de div_main se puede obtener con get_id(0). Puede servir para enviar una señal en árbol (tree) a todos los procesos, pero dicho proceso no se visualizará en pantalla aunque se definan sus variables x, y, graph, etc.


Ver: Estados de un proceso