L’entité d’exécution ‘le processus’


Le processus est la plus petite entité d’exécution sous UNIX. Nous pouvons l’assimiler à un objet ayant plusieurs propriétés :

Flux

Il dispose au minimum de 3 flux d’informations en lecture ou écriture séquentielle.
- Le flux en ENTREE ou ENTREE standard (en lecture)
- Le flux en SORTIE ou SORTIE standard (en écriture)
- Le flux en ERREUR ou SORTIE d’erreur standard (en écriture)

Signaux

Il a également la capacité de recevoir ou d’émettre un signal. Ce signal peut être adressé à un processus, un groupe de processus ou à tous les processus.
Un processus peut filtrer ou intercepter un signal.
Seul le signal SIGKILL ne peut être intercepté, car il est la solution de dernier recours pour ‘KILLER’ un processus ‘ORPHELIN’ (voir la commande kill).

Image non trouvée ! Un signal non filtré et non intercepté provoque la ‘mort’ du processus récepteur.

Représentation des flux d'informations et événements d'un processus

Image non trouvée ! 

 

informations essentielles pour le processus


Les informations essentielles pour le processus sont stockées à deux endroits :
- La table des processus, qui est toujours en mémoire, elle contient un élément pour chaque processus. Chaque élément détaille l’état du processus. Cette information inclut l’adresse en mémoire ou sur disque, la taille, les signaux reçus. Informations contenues dans la table des processus :l’état du processus, l’emplacement de la zone u et du processus, plusieurs ID d’utilisateur (UID, GID), plusieurs ID de processus (PID et PPID), descripteur pour l’état endormi, priorité du processus, un champs signaux, compteurs et statistiques.
D’autres informations concernant le processus sont stockées dans la table des utilisateurs ou zone u.

- La table utilisateurs ou zone u, contient des informations courantes sur le processus, l’UID et le GID, les pointeurs sur la table des fichiers du système pour tous les fichiers ouverts par le processus, un pointeur sur l’inode du répertoire courant dans la table des inodes et une liste de réponses à divers signaux. Cette table est allouée à chaque processus actifs, elle est en fait un extension de la table des processus.

Il est fait référence à la table des processus lors de toutes les phases critiques de la vie d’un processus.