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).
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
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.