WEB2007 ALSO SPEAKS ENGLISH
06 44 00 14 84 (ou 0033644001484)

* Integrateur Typo3 Aix-en-Provence




Integrateur Typo3 Aix-en-Provence





Article:

En Lions' Commentary on UNIX 6th Edition, with Source Code (en) de la version 6 d'Unix, le mécanisme exec() affiche l'image binaire d'un exécutable depuis un système de fichiers. Le header qui comporte la taille du programme (segment text) et les variables initialisées (segment global) sont formés par les huit premiers octets .Le premier mot de seize bits de ce header est rapproché à deux constantes pour désigner si l'exécutable emploie des références mémoires réallouables, le système de page en lecture seule dernièrement développé ou des pages divisées pour les instructions et les données4. Dans les sixième et septième versions d'Unix, le double emploi de cette constante du départ du header n'était pas détaillé pourtant le bit de poids fort de cette constante était l'opcode de l'instruction de saut sur un PDP-11 (octal 000407 ou hex 0107). Si on aditionne sept au compteur de programme d'un programme exécuté, celui-ci va utiliser le service exec() pour démarrer.
A partir d'un buffer de l'espace noyau ,le service exec() affiche le header du fichier exécutable (méta) mais l'image exécutable est lue dans l'espace utilisateur et donc sans pouvoir utiliser la constante de saut. Les magicnumber ont alors été implantés dans l'éditeur de liens et le chargeur d'Unix ; ils ont dû être utilisés ensuite dans les programmes de test donnés avec les versions 6 et 7 d'Unix.
Dans la version 7, la constante est d'abord définie à la variable ux_mag5 et fut après indiquée par l'expression magicnumbr,alors elle n'est pas lue directement . Sachant qu'il y avait alors dans cet Unix environ 10 000 lignes de code et de nombreux constantes utilisées, ce nom est plutôt bizarre pour une constante, au moins autant que le commentaire2 laissé dans la partie concernant la modification de contexte de la version 6 du gestionnaire d'applications d'Unix. C'est assurément pour cela que le mot a ensuite montré le type d'exécutable, puis élargi aux systèmes de fichiers et élargi encore pour signaler un exécutable utilisant un typage fort.
Plusieurs de ces nombres sont venus d'un typage fort des données ou de leur multiplexage. Ils donnent la possibilité aux programmes traitant l'information de déterminer les données qui suivent et spécialement de distinguer le format de données utilisé.
Le terme de magicnumber peut aussi se conformer à l'utilisation de constantes numériques non-nommées dans le code source d'un programme. l'utilisation de ces constantes viole les anciennes règles de programmation issues de COBOL, de FORTRAN et de PL/I9, ne rend pas plus clair le choix de cette valeur10 et provoque généralement des erreurs de programmation. Selon certains, le nommage de tous les constantes rend le code plus lisible, plus compréhensible et plus aisément maintenable.






****Web2007 est un bureau indépendant situé à Genève et a l'habitude de travailler pour des entreprises PARTOUT en France et en Europe