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

* Joomla Aix-en-Provence




Joomla Aix-en-Provence





Article:

L'outil exec(),dans le Lions' Commentary on UNIX 6th Edition, with Source Code (en) de la version 6 d'Unix,produit l'image digitale d'un exécutable à partir du système de fichiers. Les huit premiers octets constituent le header qui comporte la taille du programme (segment text) et les variables activées (segment global). Le premier mot de seize bits de ce header est rapproché à deux constantes afin de déterminer si l'exécutable emploie des références mémoires réatables, le système de page en lecture seule récemment amélioré ou des pages divisées pour les consignes et les données4. Le double rôle de cette constante du début du header n'était pas défini ,dans les sixième et septième versions d'Unix, 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). Quand on additionne sept au compteur de programme d'un programme exécuté, celui-ci va utiliser le service exec() pour débuter.
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.
En version 7, la constante n'est pas lue instantanément , en priorité,elle est allouée à la variable ux_mag5 et fut ensuite démontrée par le terme magicnumber. Etant donné qu'il y avait alors dans cet Unix environ 10 000 lignes de code et nombreux constantes utilisées, pour une constante ce nom est un peu bizarre, au moins autant que le commentaire2 laissé dans la partie corrélative à la coversion de contexte de la version 6 du gestionnaire d'applications d'Unix. Eventuellement ,pour cela que le terme a ensuite démontré le type d'exécutable, puis élargi aux systèmes de fichiers et étendu plus pour indiquer un exécutable usagant un typage fort.
Beaucoup de ces nombres sont procédés d'un typage fort des données ou de leur multiplexage. Ils permettent aux programmes développant l'information de déterminer les données qui suivent et particulièrement de caractériser le format de données utilisé.
L'expression de magicnumber peut aussi correspondre à l'utilisation de constantes numériques non-nommées dans le code source d'un programme. l'usage de ces constantes enfreind les anciennes principes de programmation issues de COBOL, de FORTRAN et de PL/I9, ne rend pas plus clair le choix de cette valeur10 et engende souvent des erreurs de programmation. Selon certains, la dénomination 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