Sommaire

Les principes Signaux

Les signaux sont un mécanisme géré par le noyau, ayant pour but d’informer un processus qu’un événement s’est produit. Cette notion est très comparable au principe des interruptions matérielles, on l’appelle parfois une interruption logicielle.

Linux a repris les signaux traditionnels issus d’Unix, mais en respectant la normalisation POSIX, pour remédier à des problèmes liés à leur conception originelle. Il implémente en réalité une forme de signaux plus évolués, dits signaux temps réel, dont le détail ne sera pas abordé dans cet ouvrage.

1. Qu’est-ce qu’un signal ?

Un signal est un indicateur, identifié par un numéro unique, géré par le noyau et destiné à un processus. Suivant les cas, ce dernier peut recevoir ou non cette information (un signal peut être ignoré par un processus, dans ce cas il ne lui est pas transmis). Seul un processus en état d’exécution peut effectivement recevoir un signal. Entre le moment où le signal est émis par le noyau et celui où il est reçu par le processus, le signal est en attente de réception, pendant (pending). 

On peut représenter l’ensemble des signaux pendants à destination d’un processus, sous forme d’un ensemble ordonné de bits. Chaque bit correspond à un numéro de signal. ...