Corbac

Un signal

Après une semaine folle au travail, le doux weekend vient me récompenser. Deux ou trois heures à buller devant mon écran, je finis par m’allonger sur mon lit, regardant le sombre plafond blanc en attendant la tombée de la nuit. Ça faisait un moment que j’avais pas rencontré cette frustration. Cette désagréable sensation d’être prisonnier d’un système, un peu comme un joueur se rendant compte que la partie était déjà terminée quelques tours plus tôt. Mais comment couper le fil qui m’entrave ?

Processus

Pour une machine, il est chose facile d’arrêter un processus d’un point de vue fonctionnel. Il existe une commande relativement répandue dans les systèmes qui permet d’arrêter une chaine de calculs. Dans le monde UNIX, la plus célèbre reste celle-ci :

kill

Il ne faut pas s’arrêter au nom. La plupart des processus sont ordonnancés selon différents états. Lorsque qu’une instruction est lancée, elle est en cours d’exécution. Une fois le travail terminé, elle se retire en s’effaçant après avoir averti au système du bon déroulement — ou de l’échec — de la tâche qui définissait son existence.

kill permet de convertir l’état des processus du système. Il vient donner un ordre qui n’était pas prévu. Si les processus étaient coordonnés entre eux, on risque de modifier drastiquement le fonctionnement d’un produit, ainsi que son résultat. Prenons comme exemple deux cubes de même masse disposés respectivement sur les deux plateaux d’une balance. Leur état statique, que l’on pourrait qualifier de “en fonctionnement”, permet de garder l’équilibre de la balance. C’est exactement le résultat attendu. Si nous faisons disparaitre un, un déséquilibre serait créé. Attention toutefois, il ne faut pas résumer les états à deux cas complètement disjoints, tel que la présence ou non d’un cube sur le plateau. Il est tout à fait possible que le cube soit mal positionné, qu’il soit juste à côté de la balance. Dans ce cas, on peut dire que le cube ne travaille pas, qu’il est à l’arrêt. En le reposant sur le plateau, on le remet au travail. On découvre dans cet exemple qu’il est possible qu’un processus puisse être en pause.

Dans la culture populaire, certains pourraient comparer les processus à des hommes consacrant l’entièreté de leur temps de vie à une tâche bien spécifique. C’est un immense système où chacun est acteur. Ainsi, la commande kill viendrait appliquer une action non attendu sur un homme. Un salarié, occupé à remplir ses objectifs de mission, est en train de travailler. Si jamais une plus haute instance vient le rencontrer et le congédie, on se retrouve avec un homme qui n’a pas su accomplir sa tâche jusqu’au bout, mais qui est obligé d’arrêter définitivement son activité. On peut considérer l’instance du salarié comme morte.

Système

Introduire un meurtre ou un licenciement imprévu perturbe le système, car la tâche attendue ne pourra être faite. Mais en réalité, c’est beaucoup plus complexe que cela. Une instance supérieure viendra remplacer le processus par un autre, qu’il considérera comme son fils. Alors pourquoi ne pas tuer le père d’abord ? Car il est peut-être tout simplement inaccessible pour notre assassin. Les processus sont hiérarchisés, et ne peuvent être commandés que par une autorité égale ou plus grande. C’est un peu comme si l’on voulait ôter la vie de quelqu’un d’important, il faudrait d’abord pouvoir accéder à des droits d’accès sur l’entité ciblée. L’entité la plus puissante aurait alors le contrôle sur tout processus existant, similaire à un dieu. Il est à noter qu’il peut exister plusieurs de ces entités suprêmes, et par extension, elles seraient capables de s’entretuer. Hypothétiquement, celui qui aurait actionné la commande le plus tôt serait le vainqueur. Dans le cas d’une égalité parfaite, le hasard généré par l’entropie de l’univers choisirait le perdant.

Les processus possèdent une hiérarchie. On peut également parler de famille, où un processus père peut engendrer un enfant. Il agirait comme un guide qui attend des résultats pour continuer sa tâche, tel un père de famille qui demande à un de ses enfants d’aller chercher de la farine à l’épicerie du coin pour faire un gâteau. Si jamais un père venait à mourir, il est d’usage que tous les processus enfants viennent à perdre leur objectif de vue. Ils viendraient à succomber eux aussi. Il est à noter que certains survivants puissent continuer à errer sans but si les conditions le permettent. Ces orphelins sont souvent la proie privilégiée du système, car ils consomment des ressources inutiles. Dans ce monde cruel, le processus ne meurt que lorsque sa tâche est terminée, où il pourra enfin se reposer. Mais le destin peut en amener à une éternelle agonie. D’un point de vue technique, on parle de processus zombie. À la fois mort, mais toujours existant, ils attendent à la venue d’une faucheuse permettant de mettre fin à ces longues millisecondes de non-sens. Le système détecte des processus morts, mais toujours présent dans son référentiel. Il viendra le nettoyer en oubliant le nom de ces défunts.

Le pouvoir de la commande ne s’arrête pas juste au droit de vie ou de mort d’un processus. C’est un fait mal compris. Il est tout à fait possible d’entrevoir son potentiel en lisant les pages, ô combien oubliées, du manuel.

NOM
    kill - Envoyer un signal à un processus  
DESCRIPTION
    L'appel système kill() peut être utilisé pour envoyer n'importe quel signal
    à n'importe quel processus ou groupe de processus. 

Le vrai pouvoir de la commande est de contrôler directement l’état du processus sous la forme d’un signal. On pourrait non seulement demander à un homme de mourir, mais aussi qu’il nous révèle certaines informations. Il ne faut pas comprendre cette action comme une demande polie : le processus est soumis au signal de la même manière que nous sommes soumis aux lois de la physique. On peut ainsi synthétiser l’ensemble de toutes ces informations sous la forme d’une série de trois règles qui régis le monde des processus :

  1. Il existe un processus Dieu, père de tous les pères, premier du système, et qui l’organise.
  2. L’existence d’un processus perdure pendant toute la durée d’exécution d’une tâche donnée par un parent.
  3. Un signal d’une entité peut influencer l’existence d’un processus, pouvant le tuer, l’arrêter, l’immortaliser, ou le perdre.

Et maintenant ?

Ce qui m’impressionne le plus dans les faits divers, c’est la recherche perpétuelle de sens que les gens ont à propos de ces nouvelles célébrités, issues du voyeurisme, que sont les tueurs. On parle de modes opératoires, de signatures, d’une empreinte. Comme si on cherchait à expliquer le message que le criminel a voulu faire passer pour lui-même ou les autres. Tout cela, à mes yeux, n’est pas logique. Il ne tente pas de véhiculer un message. Il est le signal. Il est la main modelant l’état d’un homme jouant le rôle d’un processus.

S’il existe une instance divine répartissant les tâches du monde, il aurait tort de partager ses droits de risque qu’un signal égal puisse à son tour le détruire, et ainsi balayer l’ensemble de sa création, générée par ses soins. S’il est unique, il faudrait trouver un moyen pour obtenir des accès exceptionnels pour pouvoir commettre un déicide. Au vu de la hiérarchie exposée plus tôt, il serait théoriquement impossible de construire un tel signal. Mais le monde n’est pas parfait, et le modèle présenté n’est qu’une vue de l’esprit. Peut-être existe-t-il un moyen qui, en exploitant un effet de bord, pourrait octroyer à un simple processus des options jusque-là insoupçonnée. Après tout, dans un lieu où les armes sont interdites, il est plausible de réussir un meurtre avec des objets du quotidien.

Pourrait-on escalader nos accès, et arriver à poignarder Dieu ?

Pour l’écriture de ce texte, je me suis rappelé de trois œuvres de ma culture geek. Tout est parti de l’OST de Transistor que j’écoutais en cuisinant. Je me souvenais de la possibilité dans le jeu de pouvoir exécuter des commandes de plus en plus permissives au fur et à mesure que notre personnage avance dans ce monde corrompu si particulier. Plus tard m’est arrivé l’image d’une scène d’un meurtre, où l’assassin n’ait été d’un outil contrôlé par un fil invisible. Il y a pléthore de films ou de récits de ce genre, mais le pouvoir fantastique du Death Note est celui qui collait le plus à mon idée de mise en scène. Ma vision des processus et des hommes colle à ce qui est expliqué au début du jeu The Talos Principle, où l’on attend qu’une itération s’éveille et s’affranchit des lois.

Je suis fatigué de voir les stratégies et les manigances dans mon entourage. Cette hiérarchie nauséabonde, causée par des hommes cherchant à se rapprocher des divinités me rappelle l’infinité d’étages à gravir pour avoir l’espoir de les faire taire. Je vois au quotidien des hommes broyés, aliénés, et plongés dans un triste déni glorifiant leur labeur. C’est le résultat attendu de la plus haute instance : voir les hommes souffrir. Leurs signaux sont là. J’espère bientôt trouver une brèche et m’échapper de ma condition de processus benjamin. Ainsi, j’oublierai mon état de faiblesse, et deviendrai à mon tour celui qui exécute les commandes.