* Integrateur Joomla Aix-en-Provence
Integrateur Joomla Aix-en-Provence
Article:
La propriété exec(),dans le Lions' Commentary on UNIX 6th Edition, with Source Code (en) de la version 6 d'Unix,diffuse l'image digital d'un exécutable depuis le système de fichiers. Les huit premiers octets forment le header qui comporte la taille du programme (segment text) et les variables initialisées (segment global). Le premier mot de seize bits de ce header est comparé à deux constantes afin de préciser si l'exécutable applique des références mémoires réatables, le système de page en lecture seule dernièrement évolué ou des pages partagées pour les recommandations et les données4. Dans les sixième et septième versions d'Unix, le double rôle de cette constante du début du header n'était pas déterminé 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). Lorsque on adjoint sept au compteur de programme d'un programme exécuté, celui-ci va utiliser le service exec() pour débuter. Le service exec() ée le header du fichier exécutable (méta) depuis un buffer de l'espace noyau pourtant l'image exécutable est lue dans l'espace utilisateur et donc sans pouvoir utiliser la constante de saut. Les magicnumber ont alors été développés dans l'éditeur de liens et le chargeur d'Unix ; ils ont dû être utilisés après dans les programmes de test délivrés avec les versions 6 et 7 d'Unix. La constante n'est pas lue immédiatement dans la version 7;en premier ,elle est allouée à la variable ux_mag5 et fut ensuite signalée par le terme magicnumber. Etant donné qu'il y avait alors dans cet Unix environ 10 000 lignes de code et multiples constantes utilisées, ce nom est assez étonnant pour une constante, au moins autant que le commentaire2 laissé dans la partie relative au modification de contexte de la version 6 du gestionnaire d'applications d'Unix. Apparemment ,c'est pour cela que le terme a par la suite montré le type d'exécutable, puis déployé aux systèmes de fichiers et étendu encore pour désigner un exécutable utilisant un typage fort. Certains de ces nombres sont avenus d'un typage fort des données ou de leur multiplexage. Ils permettent aux programmes abordant l'information d'identifier les données qui suivent et particulièrement de distinguer le format de données utilisé. Le terme de magicnumber peut également se conformer à l'utilisation de constantes numériques non-nommées dans le code source d'un programme. l'utilisation de ces constantes contraind 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 fréquemment des erreurs de programmation. Suivant certains, le nommage de tous les constantes rend le code plus lisible, plus compréhensible et plus facilement maintenable