Mode protégé
p. 53-69
Note de l’éditeur
Le texte « Protected Mode » a été publié dans Computer, Macht und Gegenwehr. InformatikerInnen für eine andere Informatik, sous la direction de Ute Bernhardt et Ingo Ruhmann, Bonn, InformatikerInnen für Frieden und gesellschatliche Verantwortung e.V.,1991.
Texte intégral
1La bataille aéroterrestre de 1991 l’a montré une fois de plus : parmi les stratégies postmodernes de l’apparence, aucune n’est aussi efficace que celle consistant à simuler l’existence même des logiciels. Jusqu’à ce que la preuve contraire fut administrée sur le champ de bataille, lorsque les ordinateurs révélèrent sans équivoque qu’ils étaient du hardware destiné à détruire le hardware irakien (c’est-à-dire les équipements militaires, ce qui est en anglais l’un des sens du terme « hardware »), des brochures publicitaires et des conférences de presse répandirent la légende selon laquelle des logiciels toujours plus délicats et plus ergonomiques, plus spirituels et intelligents, se développaient pour faire advenir, dans un futur proche, l’idéalisme allemand, autrement dit pour devenir humains.
2C’est pour cette raison que le logiciel, ce marché de plusieurs milliards de dollars d’un des éléments les moins chers de la planète, met tout en œuvre pour interdire formellement aux êtres humains l’accès au hardware. Sur un AT 386 sans marque, avec Word 5.0 et sous (comme l’on dit si joliment) Microsoft DOS 3.3, on peut écrire des exposés entiers à propos de ces trois mêmes entités, sans aucunement suspecter cette stratégie de l’apparence. Car « on » écrit alors - le « sous » le dit bien - comme sujet (dans les deux sens du terme) de la Microsoft Corporation.
3Ce point de vue réducteur n’a pas toujours prévalu. Au bon vieux temps où les broches des microprocesseurs étaient encore assez grosses pour le plus rudimentaire des fers à souder, les théoriciens de la littérature pouvaient faire tout ce qu’ils voulaient avec le processeur 8086 d’Intel. Même les puces standard, qui à cette époque nécessitaient encore cent trente-trois cycles pour la multiplication d’un seul nombre entier, pouvaient atteindre la vitesse de traitement des processeurs de signaux primitifs par des moyens divers : entre autres procédés, on pouvait ne pas opérer de distinction entre la mémoire RAM et la mémoire ROM, utiliser abusivement les deux registres de pile comme des registres généraux, éviter les interruptions ou encore détourner l’état d’attente de son usage. Si la puce de silicium pouvait rivaliser en stupidité avec celui qui l’avait bricolée et avec son utilisateur, c’est parce que l’architecture de Von Neumann ne connaît pas de différence entre les instructions et les données. Cet utilisateur en effet, pour parvenir à faire fonctionner un programme, devait d’abord oublier toute l’élégance mathématique et toutes les solutions exactes gravées dans son esprit depuis les bancs de l’école. Il en vint à oublier ses dix doigts et traduisit tous les nombres décimaux qui devaient intervenir dans le programme en colonnes uniformes de nombres binaires. Par la suite, il oublia même l’impératif et compulsa les fiches techniques pour traduire également les instructions IN, OUT, etc., bien entendu déjà formulées en anglais, en leur code opération. On raconte que seul Alan Mathison Turing, lorsqu’il put enfin disposer techniquement de sa machine discrète universelle de 1936, une guerre mondiale plus tard, aurait préféré cette occupation à toutes les mnémoniques et à tous les langages de programmation de haut niveau1. Mais une fois cette expulsion de l’esprit et du langage accomplie, la machine égala son utilisateur en imbécillité : elle fonctionnait.
4Certes, ce langage appelé langage machine fonctionnait des millions de fois plus rapidement que le crayon papier avec lequel l’utilisateur avait assemblé les 0 et les 1 des fiches techniques de Intel. Certes, il occupait dans les bascules, dont le schéma répété sans fin couvre la puce de silicium, des millions de fois moins de place que sur le papier. Mais nous avons, avec cette énumération, fait le tour des différences entre l’ordinateur et la machine de papier (c’est ainsi que Turing avait baptisé les êtres humains2).
5Ces bons vieux temps sont irrévocablement passés. Au nom des mots-clés d’interface utilisateur, d’ergonomie ou encore de protection des données, l’industrie a entre-temps condamné les êtres humains à rester humains. Les mutations possibles de ces êtres humains en machines de papier sont verrouillées par de multiples obstacles insidieux : ce sont d’abord les fiches techniques de Microsoft, qui en viennent à considérer les abréviations de l’assembleur comme le maximum de ce qui peut être exigé et de ce qui peut être connu de la machine, ce qui revient à ne plus publier aucun code opération3. Les magazines spécialisés « nous assurent » ensuite « que même dans les meilleures conditions on deviendrait vite fou de programmer en langage machine4 ». Troisième et dernier élément, ces mêmes magazines considèrent également comme criminel le fait « d’utiliser précisément l’assembleur pour écrire une procédure de calcul des sinus5 ».
6Avec le risque que nous soyons depuis longtemps déjà devenus fous, la seule chose à conclure de tout ce qui précède est que le logiciel a gagné en ergonomie à mesure qu’il s’approchait de l’idéal cryptologique des fonctions unidirectionnelles6. Plus les langages de programmation sont d’un usage facile et de haut niveau, plus leur distance au hardware, qui continue à accomplir l’intégralité du travail, est infranchissable. Cette tendance ne peut vraisemblablement être expliquée de façon satisfaisante ni par le progrès technique, ni par les contraintes formelles d’une théorie des types, mais remplit, comme toute cryptologie, certaines fonctions stratégiques. Alors que d’un côté, par la connaissance des codes et des algorithmes, il reste en principe possible d’écrire des logiciels d’application ou des cryptogrammes, il est d’un autre côté, dissimulé avec ergonomie, complètement impossible de remonter du produit fini à ses conditions de production, ou même de modifier ces conditions. Les utilisateurs deviennent les victimes d’une perfidie mathématique qui aurait déjà conduit Hartley, autrefois chef des laboratoires Bell, à une dépression une fois devenu âgé : le fait que les opérandes d’un si grand nombre d’opérations ne soient plus visibles7. La somme dissimule les termes de la somme ; le produit dissimule les facteurs, et ainsi de suite.
7Pour les logiciels, cette perfidie mathématique tombe à point nommé. Elle devient une source d’argent, à une époque qui a depuis longtemps congédié le fantôme du créateur ou de l’auteur mais qui, pour de solides raisons financières, reste passionnément attachée au copyright, l’effet historique de ces esprits. Dans tous les cas, les sujets de Microsoft ne sont pas tombés du ciel mais ont dû d’abord être produits, à l’instar de tous leurs prédécesseurs médiatiques : les lecteurs de livres, les spectateurs de cinéma et les téléspectateurs. Le seul problème est maintenant de savoir comment leur soumission peut leur être dissimulée pour triompher dans le monde entier.
8Dans son volet relatif à la politique du savoir, la réponse suit une recette éprouvée des démocraties modernes. De son côté, son volet technique a modifié le hardware même des microprocesseurs. En ce qui concerne la politique du savoir, il est probable que seuls les ingénieurs de Siemens soient à même d’appeler les choses par leur nom aussi directement que le fit Klaus-Dieter Thies dans son Manuel sur le 80186 :
« Les micro-ordinateurs modernes 16 bits assument aujourd’hui de façon croissante des tâches qui relèvent du champ d’application typique des mini-ordinateurs classiques.
Dans les systèmes multi-utilisateurs, il est donc nécessaire que les programmes et les données de chacun des utilisateurs soient séparés les uns des autres et que le système d’exploitation soit protégé des programmes d’application.
Afin d’assurer à chacun des utilisateurs individuels la possibilité d’implémenter son logiciel indépendamment du nombre des autres utilisateurs et afin de lui donner également l’impression que l’ordinateur n’est là que pour lui seul, il faut partager le processeur entre chacun des programmes par multiprogrammation, ce qui ne peut cependant être dissimulé à l’utilisateur que si le processeur est très performant8. »
9Ainsi, si l’on suit l’interprétation qui est faite par Siemens mais qui a cours également chez IBM Allemagne, ce n’est pas pour satisfaire les exigences des utilisateurs professionnels ou même les spécifications du Pentagone relatives à la guerre électronique9 qu’Intel aurait poussé les fréquences d’horloge du 80286 et du 80386 à des niveaux s’élevant de douze à trente-trois MHz, mais pour prendre les utilisateurs civils au piège d’une simulation qu’ils ne pourront pas dissiper. Le multitâche doit, comme le hérisson du conte, faire croire aux utilisateurs que seul un hérisson, ou un processeur, est en action, mais surtout que cette course ou ce processus n’a lieu qu’au bénéfice d’un seul lièvre ou d’un seul utilisateur. C’est le même refrain que celui des romans ou des poèmes qui, depuis l’époque de Gœthe, assurent à leurs lecteurs, et avant cela à leurs lectrices, qu’ils n’existent pour ne s’adresser qu’à eux seuls, de manière unique ; le même refrain que celui de la politique moderne, qui soumet les peuples en les traitant comme leur contraire absolu, c’est-à-dire comme des individus.
10Mais à la différence des simulations traditionnelles, qui avaient toutes leurs limites dans la puissance ou l’impuissance du langage de tous les jours, la simulation électronique, selon laquelle chaque microprocesseur ne serait là que pour un seul utilisateur, dispose aussi depuis peu d’un hardware. Depuis le 80286, les processeurs Intel sont équipés d’un mode protégé, qui (selon les mots mêmes de cet ingénieur de Siemens) protège le système d’exploitation des utilisateurs et rend ainsi possible leur illusion. Ce qui avait commencé comme simple possibilité de passage d’une pile superviseur à une pile utilisateur dans le 68000 de Motorola10, un système concurrent dont il n’est bien évidemment pas dit un mot, s’étend à l’ensemble du système sous la forme d’une séparation entre le mode réel et le mode protégé : des jeux d’instructions différents, des possibilités d’adressages différents, des ensembles de registres différents, et même des délais différents d’exécution des instructions, séparent le bon grain de l’ivraie, les utilisateurs de l’architecture du système. La dichotomie fondamentale des techniques médiatiques modernes réapparaît dans ce silicium même, en lequel les prophètes d’une future démocratie des microprocesseurs avaient placé tout leur espoir. Il n’y eut en effet de réseau radiophonique civil en Allemagne qu’à partir du moment où les services postaux de l’armée allemande purent promettre de manière crédible que les radios de 1923 destinées à un usage public, qui étaient scellées et impropres à toute transmission, ne pourraient jamais perturber les communications militaro-industrielles, grâce à l’invention d’une machine de chiffrement automatique que seul le proto-ordinateur de Turing neutraliserait à son tour pendant la seconde guerre mondiale.
11L’innovation du mode protégé de Intel ne consiste qu’à avoir transféré cette logique du domaine militaro-industriel à celui de l’informatique même. La différence entre les deux modes d’exploitation n’est pas seulement quantitative, comme le sont par exemple les différences des niveaux de température de fonctionnement des puces en silicium selon qu’elles sont commerciales, industrielles ou militaires (dans cet ordre significatif) : c’est bien plus le processeur lui-même qui travaille en fonction de prérogatives et d’interdictions, de privilèges et de handicaps qu’il garde constamment en mémoire, du moins en mode protégé. Il est évident que de tels contrôles, qui nécessitent eux-mêmes du temps, ne servent pas vraiment l’objectif général d’accroissement de la vitesse de transmission des données. La même interruption nécessite en mode protégé jusqu’à huit fois plus de cycles d’horloge que dans le mode réel. Mais il semble qu’une haute technologie ne puisse être transmise à des programmes et à des utilisateurs qui (selon le qualificatif d’Intel) « ne sont [pas] dignes de confiance » qu’à partir du moment où même le traitement du signal (et surtout lui), cette dimension militaro-industrielle des ordinateurs11, a été ralenti par le traitement bureaucratique des données. Il n’y a certes plus de panneaux d’interdiction écrits qui cautionneraient des écarts de pouvoir, mais le système binaire lui-même code ce que sont les instructions et les données, ce qui est autorisé au système et ce qui est au contraire interdit aux programmes d’application. L’architecture classique de John Von Neumann - qui ne faisait pas la moindre distinction entre les instructions et les données et qui n’avait, il est vrai, pas besoin de le faire à une époque où tous les ordinateurs existants étaient des secrets d’État - disparaît sous quatre niveaux numérotés de privilèges. C’est avec une ironie tout à fait légitime que le seul magazine incorruptible parmi toutes les publications allemandes dédiées aux applications informatiques écrivit : « Même s’il y est largement question de privilèges, de segments de codes avec un niveau supérieur de privilèges, de violations de privilèges et ainsi à l’identique, vous n’êtes pas en train de lire le manifeste politique d’un ancien dirigeant du Parti socialiste unifié de l’Allemagne de l’Est mais l’explication du concept de sécurité du 8038612 ! »
12Les manifestes politiques, comme leur nom l’indique, avaient cours dans le champ de domination du langage ordinaire et c’est pour cette raison que les privilèges qu’ils dénonçaient sont, au moins depuis novembre 1989, devenus sans objet. Au contraire, les niveaux de privilèges de ce qu’Intel appelait son « fleuron », cette liste Cocom transférée à l’intérieur même du système binaire, ont dû contribuer, plus que toute invasion télévisuelle de l’Europe de l’Est, à liquider ceux des privilèges qui n’étaient que politiquement fondés. Un petit écrit de Carl Schmitt, Entretien sur le pouvoir et les modalités d’accès au gouvernant [Gespräch über die Macht und den Zugang zum Machthaber], aboutissait à la thèse que le pouvoir était réductible à ses conditions d’accès : l’antichambre, le bureau ou plus récemment la réception composée d’une machine à écrire, d’un téléphone et d’une secrétaire13. Avec de telles instances, et à propos de telles instances, il était encore possible de converser, alors que les niveaux de privilèges techniquement implémentés tirent précisément leur pouvoir de leur efficacité muette. L’utilisateur du 80386 qui veut enfin, en une sorte de métaphysique posthistorique, accéder à la mémoire supplémentaire non indexée sur le DOS, installe un des logiciels utilitaires ergonomiques qui lui sont proposés, charge le débogueur avec un programme de sa composition, qui hier encore s’exécutait sans problèmes, et est bien forcé de constater que la nouvelle installation ne se contente pas, comme promis, d’administrer la mémoire mais a en même temps, et sans aucunement l’annoncer, interdit l’accès à toutes les instructions privilégiées14. Comme Mick Jagger l’a déjà formulé sans ambiguïté, l’utilisateur, en lieu et place de ce qu’il désire, ne reçoit jamais que ce dont il a besoin (selon les standards de l’industrie).
13Tout ceci a une double conséquence pour l’analyse des systèmes de pouvoir, la grande tâche que Foucault nous a léguée. Il faudrait, en premier lieu, essayer de ne pas penser comme d’habitude le pouvoir comme une fonction de ce que l’on appelle la société, mais à l’inverse, construire la sociologie à partir des architectures des puces. Pour l’instant du moins, il semble en effet légitime d’analyser les niveaux de privilèges d’un microprocesseur comme la vérité de cette bureaucratie, qui a passé commande de son élaboration et a été à l’origine de son utilisation de masse15. Il ne s’agit pas de coïncidence si la séparation entre le mode superviseur et le mode utilisateur chez Motorola, entre le mode protégé et le mode réel chez Intel, est apparue au cours des années où les États-Unis se lançaient dans la construction d’un système de deux classes étanches l’une à l’autre. (On peut expérimenter les contrôleurs intégrés dans n’importe quelle serrure des meilleurs hôtels new-yorkais.) Il ne s’agit pas de coïncidence si les instructions du 80386 protégées par le plus haut niveau de privilèges sont les instructions « input » et « output » : dans un empire dont la population ne voit le reste du monde qu’à travers l’écran des informations télévisées, l’idée même d’une politique extérieure demeure un privilège du gouvernement. C’est probablement également la raison pour laquelle les nouvelles approches de la théorie des systèmes contestent tout simplement, au plus haut niveau théorique, la découverte que les systèmes d’information contrôlent leur input et leur output. Finalement, tout ceci fournirait aussi une bonne raison aux informaticiennes et aux informaticiens d’autres pays, c’est-à-dire quelque part entre le Japon et l’Europe, d’opposer à la bureaucratie américaine coulée dans le silicium d’autres bureaucraties possibles. Reste à savoir si elles seraient meilleures, car il est vrai qu’elles devraient dans tous les cas être aussi des bureaucraties ; mais une concurrence entre différents systèmes et différentes bureaucraties laisserait déjà, en elle-même, respirer les sujets de MSDOS.
14Cependant, aussi longtemps que la compatibilité avec IBM célèbre ses triomphes, on est moins en demande de sociologie que de stratégie. Avec son transfert des antichambres et des langages ordinaires dans le royaume du micromètre, le pouvoir a transformé les procédures et les cibles. Le « non » catégorique par lequel l’accès à l’information est refusé ne relève plus des compétences du code binaire : toute la hiérarchie des types de niveaux de programmation autosimilaires - des langages de programmation des plus hauts niveaux jusqu’à l’élémentaire code machine16 - reste en effet totalement dépendante de ce qui est matériel. Il ne peut y avoir dans le silicium même d’Autre de l’Autre (selon une libre reprise d’une citation de Lacan)17, c’est-à-dire de protection de la protection. Les descripteurs de segments dissimulés, qui enregistrent tous les droits d’accès de chacun des programmes d’un système, doivent eux-mêmes être accessibles pour pouvoir entrer en action. En cas de violation de privilèges se produisant malgré toutes les commandes possibles et explicites, le processeur laisse de son côté des traces lisibles lorsqu’il renvoie ces descripteurs vers un pointeur Null18. Au niveau de la machine, les mécanismes de protection rencontrent donc la difficulté de n’avoir aucune cachette absolument protégée. Le mode protégé de Intel fait ainsi face à un dilemme classique du pouvoir, directement corrélé au fait que les microprocesseurs doivent malgré tout rester utilisables pour les utilisateurs, ce qui signifie qu’ils doivent pouvoir communiquer avec eux.
15D’après le Manuel de référence du programmeur [Programmer’s Reference Manual] les tâches du système d’exploitation ne peuvent pas non plus bénéficier du privilège de démarrer sans difficulté les tâches d’un niveau de privilège inférieur. La raison en est simple : la circulation sur la pile se déroule symétriquement ou selon les principes d’une démocratie directe - le programme appelant devant empiler exactement autant d’octets que le programme appelé en dépile - et la tâche la moins privilégiée pourrait donc être tentée de ne pas rendre volontairement le contrôle mais de se hisser en contrebande au niveau de privilège supérieur en faisant semblant de rendre la main à ce niveau par une fausse instruction de retour. Les ingénieurs d’Intel considérèrent ainsi plus prudent d’emprunter le concept de base des portes logiques à l’algèbre de Boole et de le convertir en un contrôle d’accès bureaucratique.
16Mais ce que de telles interdictions mettent en évidence avec force est que des contrôles d’accès parfaits sont impossibles. Au bon vieux temps des microprocesseurs, lorsque la différence entre le système et les applications se trouvaient littéralement gravée dans le silicium même, le système dans la mémoire ROM, les applications dans la mémoire RAM, on ne pouvait pas la remettre en question. Lorsqu’au contraire la différence devient programmable, toutes les échappatoires deviennent possibles.
17Le Manuel de référence du programmeur d’Intel profère environ cent soixante-dix fois, soit pour chaque instruction du 80386, la menace d’une interruption de type 13 si, en mode réel, une partie quelconque de l’opérande sur laquelle porte l’instruction devait dépasser l’espace d’adressage imparti de 20 bits. En d’autres termes, qui restent cependant ceux de l’entreprise, le 80386 ne fonctionnerait en mode réel que comme un PC/AT plus rapide19. En cas de transgression, la phrase draconienne selon laquelle « toutes les violations de privilèges, qui ne déclenchent pas d’autres exceptions » activent un monstre verbal nommé « exception de protection générale20 », fait autorité. Mais ni les cent soixante-dix répétitions de la notice ni ses innombrables copies présentes sur le marché du livre informatique et qui, sous des noms d’auteurs fictifs, semblent n’en proposer le plus souvent que des traductions partielles produites automatiquement, ne rendent cette menace plus réelle. Une seule remarque incidente de la notice suffit en effet à révéler que les limites de l’adressage du mode réel ne sont rien de plus et rien de moins que des paramètres par défaut programmés lors du démarrage du système. Cette phrase disparaît bien entendu de l’ensemble des traductions, des résumés, des vulgarisations et des manuels d’utilisation, dans le simple but de dissimuler aux sujets de Microsoft son inverse logique : que les paramétrages peuvent être modifiés sans problèmes21. À la place de ces valeurs par défaut, intentionnellement basses, que le processeur charge automatiquement, lors de chaque passage en mode réel, dans les parties cachées de ses registres de segments, les programmes peuvent également inscrire de toutes autres valeurs. Avec cent lignes de code, n’importe quel 386-AT fonctionne sous chacun des quatre modes d’exploitation possibles : en mode protégé avec une largeur de segment de 32 bits ou de 16 bits, mais aussi en mode réel avec ces mêmes largeurs. Et pourtant, le mode réel avec des segments de 32 bits, qui pourrait produire le code de loin le plus compact et le plus rapide, n’est pas même mentionné22 comme possibilité dans les fiches techniques et les manuels, pour ne rien dire des systèmes d’exploitation du 80386 existant effectivement.
18Cent lignes d’assembleur, mais d’assembleur uniquement, résolvent le problème d’une métaphysique postmoderne : au risque de nous rendre fous, elles conduisent, sous MSDOS, par-delà MSDOS. L’ensemble des privilèges tant vantés de WINDOWS sont réduits à néant par une limite tristement célèbre, celle de la mémoire de travail sous DOS, plafonnée à un ridicule mégaoctet. En un paradoxe radical, c’est précisément le plus arriéré de tous les systèmes d’exploitation qui permet d’y échapper. Les verrous intégrés d’Intel - qui sous des systèmes d’exploitation plus complexes, comme par exemple UNIX, agissent immédiatement, et par conséquent repèreraient et rejetteraient immédiatement ces cent lignes de programme comme des instructions illégales - restent impuissants devant la bêtise.
19Une machine peut ainsi faire, en même temps, moins et plus que ce qu’admettent ses fiches techniques. La méthode mentionnée plus haut ne se contente pas d’étendre la part de mémoire adressable d’un mégaoctet à quatre gigaoctets, soit d’environ 4000 %. Le 80386 a également au moins « deux instructions non documentées » que les fiches techniques dissimulent avec détermination23 et, dans le mode réel sur 32 bits, au moins un mode de fonctionnement ignoré de manière complètement involontaire. Ce n’est pas au plus haut niveau de la science informatique, là où l’on dispute de la calculabilité et de la prévisibilité des machines à états finis, qu’un tel chaos règne, mais au niveau plus modeste de l’empirie propre aux ingénieurs. Parce que, en citant librement Morgenstern, « ce qui n’a pas le droit d’être ne peut pas être », de simples paramètres par défaut sont vendus aux utilisateurs comme des données absolues. Les services postaux allemands n’agissaient autrefois guère autrement lorsqu’il s’assuraient, au début des années 1920, que seuls des détecteurs et non des appareils radios à tubes étaient vendus aux utilisateurs de la radio : le cas échéant, les auditeurs auraient pu également émettre et perturber les communications radiophoniques militaro-industrielles.
20En d’autres termes, la science informatique semble confrontée à des obstructions internes d’informations. Dans le champ des codes auxquels la science informatique doit, de fait, se référer - même si la théorie pourrait (et devrait) produire de tout autres modèles -, les déchiffrements sont, en dépit de ce que veulent et croient les développeurs, tout autant possibles qu’ils sont rares. Manifestement, bien que le monopole du livre et le statut d’auteur aient disparu depuis longtemps, le fantôme de l’être humain veille à ce que de simples opinions, voire des contre-vérités, continuent à être recopiées, plutôt que de permettre que l’on puisse déchiffrer les codes. C’est précisément dans ce but qu’il faudrait un programme de travail, d’abord à l’intention des programmeurs mais également pour les machines. De même qu’il est possible et même aujourd’hui réalisable de laisser s’affronter, d’après des règles purement darwinistes, des programmes générés aléatoirement, il faudrait d’abord que les modes effectifs de contrôle des machines soient soigneusement déchiffrés et comparés à leurs fiches techniques.
21Au moins pour le chercheur en littérature, cette branche de l’informatique, que l’on pourrait qualifier de militaro-stratégique, semble avoir un grand avenir devant elle. Elle pourrait en effet, sur un plan strictement technique, procéder selon des méthodes identiques à celles proposées par l’analyse du discours de Foucault pour les discours et les textes. Au lieu de rechercher, comme l’interprétation, la signification d’une chaîne de caractères ou bien, comme la grammaire, les règles dissimulées derrière une chaîne de caractères, l’analyse du discours traite uniquement et simplement des chaînes de caractères, en tant qu’elles existent alors qu’elles pourraient tout autant ne pas exister. Savoir si les significations ne sont pas qu’une pure fiction philosophique à vertu pédagogique, ou si les règles grammaticales s’appliquent dans leur intégralité et sont toutes repérables, sont des questions qui restent en suspens. Mais que les deux mots « grammaire » et « règles » aient été associés dans un discours est et reste un fait.
22Le grand linguiste et spécialiste des langues indo-européennes Johannes Lohmann a déjà proposé, il y a trente ans, de rechercher la raison historique ayant rendu possibles les langages de programmation dans le fait qu’il existe en anglais, mais seulement en anglais, des verbes comme « read » ou « write », c’est-à-dire des verbes qui, à la différence des « amo amas amat… » latins, ont perdu toute forme de conjugaison. Selon Lohmann, ces blocs lexicaux placés hors de tout contexte pourraient remonter au mélange, unique dans l’histoire, entre le normand et le saxon dans la vieille Angleterre, et rien ne s’oppose à leur traduction en codes mnémoniques placés hors de tout contexte, puis en code opération. Comme tout le monde le sait, la litanie sans fin des « read » et « write », « move » et « load » a un nom : l’assembleur.
23Une analyse du discours de ce type, dont les éléments ne sont manifestement pas seulement les mots mais aussi les codes, atténuerait naturellement la différence sacrée entre les langages ordinaires et les langages formels. Ce serait une véritable hérésie, au regard de la belle orthogonalité qui est par exemple mise en avant dans la série des processeurs Motorola depuis le 68000. L’histoire du mode protégé, compris comme une actualisation, à moitié compatible et à moitié incompatible, des bonnes vieilles normes, nous apprend cependant que les codes aboutissent à la même opacité que les langages ordinaires. Il est connu que dans le 8086 les instructions synonymes d’autres instructions, et qui ne les dépassaient que par la vitesse d’exécution, n’étaient pas rares. Les différences de durée étaient considérables, selon que c’était le registre général ou à sa place l’accumulateur qui écrivait son contenu dans la mémoire. Alors que la nouvelle génération de processeurs Intel avait précisément éliminé ces gains de vitesse à des fins d’optimisation, les synonymes entre les instructions purent quant à eux subsister pour des raisons de compatibilité. Le code atteignit alors une redondance, digne de celle dont le langage ordinaire témoignait déjà dans le bel exemple de Frege à propos de « l’étoile du soir » et de « l’étoile du matin ».
24Cette redondance ne peut cependant que s’accroître avec le temps si les codes des machines doivent rester compatibles par-delà les générations. À la différence du langage ordinaire et plus particulièrement de l’allemand, où (pour donner d’emblée deux exemples autonymes) il n’y a ni de limitations à la longueur des mots [Wortlängenbegrenzungen], ni de limitations à la longueur des combinaisons de mots [Wortkombinationslängenbegrenzungen], tous les éléments du jeu d’instructions sont d’une longueur définie et pour cette raison d’une quantité dénombrable. La place serait ainsi par exemple insuffisante pour les instructions étendues du 80386, si des longueurs supérieures n’avaient pas été autorisées dans ce cas. C’est au plus tard à partir de ce moment que les codes, quel qu’ait pu être leur premier modèle, économique ou orthogonal, commencèrent à croître de manière anarchique. La surface en argent de la puce, à la fois modèle et champ principal d’application de toutes les optimisations topologiques, perd la transparence mathématique qui fut la sienne : elle devient une tour de Babel, dans laquelle les décombres des tours déjà démolies restent intégrés. Le mode protégé, qui s’oppose et coexiste à la fois avec un mode réel depuis longtemps techniquement dépassé, est de l’histoire des ordinateurs en « puce ». Et le fantastique programme de David Hilbert de faire une fois pour toutes table rase de l’opacité des langages ordinaires par la formalisation n’échoue pas seulement sur les hauteurs axiomatiques éclairées de Gödel ou de Turing mais dans l’empirie propre aux ingénieurs. Des codes avec des problèmes de compatibilité commencent à proliférer et à emprunter aux langages ordinaires cette même opacité qui avait transformé depuis des siècles les gens en sujets de leurs langues. Le merveilleux concept de « code source » devient une vérité littérale.
25Une analyse du discours ne peut certes ni réfréner, ni déboguer une telle prolifération. Mais il est peut-être plus efficace d’au moins la prendre en compte. L’idée ancienne de Turing de laisser les machines elles-mêmes déterminer leurs codes par les dés est peut-être devenue secrètement réalité. C’est précisément parce que « la fonction complexe de circuits hautement intégrés (à l’exception des mémoires IC) ne peut plus être vérifiée comme une connexion logique simple en testant toutes les combinaisons possibles de signaux d’entrée24 », que des tests indépendants des producteurs seraient indispensables. Les oppositions - que la législation américaine sur les brevets a véritablement élevées au rang de système - ne devraient pas être un obstacle à ce que des mesures, des rustines et des techniques de contournement dont les documentations officielles ne disent rien, soient néanmoins accessibles aux gens. Cela serait, que cela contribue ou non à la paix, de l’information à propos de l’informatique.
26Hugo von Hofmannsthal prêta autrefois à ce « merveilleux être » appelé humain la capacité de pouvoir lire « ce qui ne fut jamais écrit ». Dans le chaos des codes, qui commence avec l’abdication historique mondiale des langues ordinaires au profit d’une machine discrète universelle, de telles cryptanalyses devraient devenir universelles et automatiques.
Notes de bas de page
1 Cf. Andrew Hodges, Alan Turing: the Enigma [Alan Turing, L’Énigme], New York, Simon and Schuster, 1983, p. 399.
2 Cf. Alan M. Turing, Théorie des nombres calculables, suivie d’une application au problème de la décision [1937], in Alan Turing, Jean-Yves Girard, La Machine de Turing, trad. fr. par J. Basch, Paris, Seuil, 1995, p. 51 et s. et p. 83-84.
3 Cf. par exemple, Macro Assembler 5.1, Reference, Microsoft Corporation, 1987, p. 115 : « Cette section référence alphabétiquement les instructions des coprocesseurs 8087, 80287 et 80387. Le format est le même que pour les instructions du processeur, mais les codages ne sont pas fournis. »
4 Assembler-Programmierung auf dem PC [La Programmation en assembleur sur le PC], première édition, Würsburg, TOOL Praxis, 1989, p. 9.
5 Ibid., p. 39.
6 Sur les fonctions unidirectionnelles en mathématique et cryptologie, cf. Patrick Horster, Kryptologie: eine Anwendung der Zahlentheorie und Komplexitätstheorie [Cryptologie : une utilisation de la théorie des nombres et de la théorie de la complexité], Mannheim, Wien, Zürich, Rheinisch-Westfälische TH, 1982/1985, p. 23-27.
7 Confidence personnelle faite par Hartley à Friedrich-Wilhelm Hagemeyer, Berlin.
8 Klaus-Diether Thies, Das 80186-Handbuch [Manuel d’utilisation du 80186], Düsseldorf, Sybex-Verlag, 1986, p. 319.
9 Pour le détail du cahier des charges du Pentagone, cf. D. Curtis Schleher, Introduction to Electronic Warfare [Introduction à la guerre électronique], Norwood, Artech House, 1986.
10 Cf. Gerry Kane, 68000 Microprocessor Book [Livre du microprocesseur 68000], Berkeley, Adam Osborne & Associates Inc, 1981, p. 8 et s.
11 Cf. Michael Löwe, VHSIC : « Ultraschnelle Schaltkreise frisch vom Band ins Pentagon » [VHSIC : de nouveaux circuits intégrés à très haute vitesse au Pentagone], dans Joachim Bickenbach, Reinhard Keil-Slawok, Michael Löwe, Rodolf Wilhelm (dirs.), Militarisierte Informatik [L’Informatique à usage militaire], Münster, BdWi, 1985, p. 64.
12 Harald Albrecht, « MSDOS in a box » [MSDOS dans une boîte], Teil 1, C’t Magazine, volume III, 1990, p. 258.
13 Cf. Carl Schmitt, Gespräch über die Macht und den Zugang zum Machthaber [Entretien sur le pouvoir et l’accès au gouvernant], Stuttgart, Klett-Cotta, 1954.
14 C’est ce qui arriva avec un QEMM 386 de la société Quarterdeck lors d’une tentative pour exécuter les instructions LGDT et SGDT à l’intérieur de CODEVIEW.
15 Pour une preuve provenant d’une source autorisée, à savoir Intel Corporation, cf. Sharad Gandhi, « Die Intel Architektur & RISC [L’architecture Intel et le microprocesseur à jeu d’instructions réduit] », dans Johann Wiesböck, Bernard Wopperer, Gerold Wurthmann (dirs.), Pentium-Prozessur. Die nächste Generation der Intel Architektur. Haar, 1993, p. 80 : « L’avantage principal d’un microprocesseur rapide, dont disposaient auparavant les processeurs RISC, devint avec le temps une caractéristique d’importance secondaire. Le noyau du microprocesseur se comporte comme un entrepreneur qui fonde une nouvelle entreprise innovante. Lorsque l’entreprise est petite, elle prospère grâce aux idées et intuitions de l’entrepreneur. Lorsque la taille de l’entreprise croît, son succès est de plus en plus conditionné par des fonctions périphériques telles que la distribution, le marketing, les relations publiques, les finances, le contrôle, etc., autant de fonctions qui n’ont pour la plupart aucun lien avec les produits de l’entreprise. Les grandes sociétés sont en concurrence les unes avec les autres en raison de leurs fonctions périphériques. À l’avenir, la contribution du noyau [mathématique] diminuera encore. » Voici un bilan positif étrangement ambigu, qui autoriserait également de tout autres conclusions et inciterait à réfléchir à des entreprises encore plus nouvelles et plus innovantes. Si à la surface d’une puce de silicium du processeur Pentium, les 8 % de la puissance de calcul sont mis en relation avec les 92 % relatifs à l’image de la société (Gandhi, op. cit., p. 79), la haute technologie tend alors dangereusement vers un ratio identique à celui existant entre le poids du cerveau et celui du corps chez les dinosaures.
16 Cf. Arne Schäpers, 1989, Turbo Pascal 5.0. Bonn-Reading/MA–Menlo Park/ CA–New-York–Don Mills– Wokingham–Amsterdamn– Sydney–Singapore– Tokyo–Madrid–San Juan, Addison-Wesley, p. 1 : « Du fait de l’architecture du système, l’espace d’adressage d’un processeur est divisé en mémoire RAM et en mémoire ROM. La mémoire RAM est en outre subdivisée par le système d’exploitation en cases mémoire pour l’enregistrement des programmes. Un programme se compose de segments individuels, parmi lesquels certains contiennent des procédures et des fonctions, qui peuvent à leur tour définir localement d’autres sous-programmes. » On en vient presque à penser à un tableau de Escher (ou encore, plus dans l’air du temps, à l’ensemble de Mandelbrot).
17 Cf. Jacques Lacan, Écrits II [1966], Paris, Seuil, 1999, p. 299.
18 Cf. Intel Corporation, 80386, Programmer’s Reference Manual [Manuel de référence du programmeur], Santa Clara/ CA, 1986, chap. 17, p. 145 : « Les registres de segment DS, ES, FS et GS peuvent être mis à 0 par l’instruction RET pendant un changement de niveau. Si ces registres se réfèrent à des segments qui ne peuvent pas être utilisés par le nouveau niveau de privilège, ils sont mis à 0 pour éviter un accès non autorisé depuis le nouveau niveau de privilège. » Cependant, ces méthodes de protection à coups de marteau ne sont pas utilisées pour le segment de code (registre CS), pour ne pas bloquer l’ensemble du système.
19 Ibid., chap. 14, p. 1.
20 Ibid., chap. 9, p. 16.
21 Cf. Harald Albrecht, « Grenzenlos. Vier Gigabyte im Real Mode des 80386 adressieren » [Sans limite. Espace d’adressage de quatre gigaoctets en mode réel du 80386], C’t Magazine,volume I, 1990, p. 212 : « Dans le 80386, la limitation du segment à 64 kilooctets en mode réel n’est absolument pas si définitivement fixée qu’elle semble l’être, par exemple d’après la documentation Intel sur le 386 DX. Si l’on suit de manière cohérente les étapes nécessaires au retour en mode réel depuis le mode protégé, la totalité de l’espace d’adressage de quatre gigaoctets s’ouvre alors au mode réel (ce qui devrait faire disparaître en un clin d’oeil le sourire moqueur des fans de Motorola). » Ce qui suit est en grande partie redevable à cette proposition tout à fait géniale.
22 Il existe certes une exception mais qui, de manière révélatrice, n’est accompagnée d’aucun commentaire : le manuel de Klaus-Dieter Thies de 1989, PC XT AT Numerik Buch. Hochgenaue Gleitpunkt-Arithmetik mit 8087..80287..80387 Nutzung mathematischer Bibliotheksfunktionen in « Assembler » und « C » [Analyse numérique pour les PC/XT et PC/AT. Arithmétique en virgule flottante sur les processeurs 8087, 80287 et 80387], Munich, te-wi Verlag, 1989, p. 638. Au contraire, Edmund Strauss, bien qu’il « ait vu toute la série des problèmes du système et élaboré de nombreuses solutions pratiques lors de son travail pour Intel » (d’après le prologue rédigé par Robert Childs, architecte du 80286), réussit le tour de force de tenir sous silence, tout au long de son manuel qui a fait autorité, les espaces de jeu non documentés. Cf. Edmund Strauss, 1987, 80386 Technical Reference. The guide for Getting the Most from Intel’s 80386 [Référence technique. Le guide pour tirer profit au mieux de l’Intel 80386], New York, Brady, 1987, passim.
23 Cf. par exemple Andreas Stiller, « Bitter für 32-Bitter » [Les 32 bits de l’amertume], 1990, C’t Magazine, volume VIII, p. 202. Pour plus de détails sur l’instruction LOADALL (et l’affirmation douteuse que seul le 80286 l’accepterait), cf. Norbert Juffa/Peter Sierung, « Wege über die Mauer. Loadall-Extended Memory im Real Mode des 80286 » [Par-dessus le mur. L’instruction Loadall et l’extension de la mémoire en mode réel du 80286], C’t Magazine, volume XI, 1990, p. 362-366.
24 Löwe, op. cit., p. 70.
Auteurs
(1943-2011) Historien de la littérature et théoricien des média, il est considéré comme le père fondateur des « media studies » allemandes. Ses ouvrages largement traduits et commentés dans les pays anglo-saxons sont encore très peu traduits en France, à l’exception de trois textes publiés sous le titre 1900 Mode d’Emploi (éd. Théâtre Typographique, 2010). Il a été titulaire de la chaire d’Esthétique et de théorie des média de l’Université Humboldt de Berlin de 1993 à 2008 et a reçu de nombreux prix et distinctions pour ses recherches. Ses deux ouvrages les plus emblématiques sont Aufschreibesysteme (Fink Verlag, 1985) et Grammophon, Film, Typewriter (Brinkmann & Bose, 1986). Il a, par l’originalité de son approche du déterminisme technologique, initié et inspiré bien des analyses actuelles sur notre société numérique.
Frédérique Vargoz (trad.)
Agrégée de philosophie et doctorante. Ses recherches portent sur la pensée de Friedrich Kittler et l’archéologie des média. Elle travaille actuellement à la traduction de Grammophon, Film, Typewriter de F. Kittler (à paraître en 2015 aux Presses du réel).
Le texte seul est utilisable sous licence Licence OpenEdition Books. Les autres éléments (illustrations, fichiers annexes importés) sont « Tous droits réservés », sauf mention contraire.
La recherche comme composition
Steven Feld Jonathan Larcher et Damien Mottier (éd.) Magali De Ruyter (trad.)
2023