* Freelance PHP Venissieux
***Web2007 est un bureau indépendant situé à Genève et a l'habitude de travailler pour des entreprises PARTOUT en France et en Europe
Freelance PHP Venissieux
Article:
Dans le secteur de l'informatique, le calcul séquentiel se traduit par la réalisation d'un traitement étape par étape, où chaque opération ne se déclenche que lorsque l'opération précédente est achevée, y compris lorsque les deux opérations sont affranchies. Le calcul séquentiel s'oppose au calcul parallèle, où plusieurs opérations peuvent être simultanées. Il est devenu mode de traitement le plus couramment adopté, parce que associable avec n'importe quel type d'opération. Il est cependant limité par la puissance des calculateurs, là où le calcul parallèle n'est limité que par le nombre de calculateurs. En programme informatique, un code automodifiable est un programme qui peut se modifier lui-même, c'est-à-dire appeler des routines, fonctions ou méthodes qui seront créées par le programme lui-même. Ce n'est que l'idée, qui relève de nos jours de la fiction, d'un robot qui modifierait lui-même sa finalité, l'utilisation la plus ordinaire du code automodifiable est l'optimisation de la vitesse d'exécution d'un programme : par exemple un interpréteur peut analyser le code source qu'il est en train d'exécuter, se rendre compte qu'une fonction est appelée fréquemment, et en réaliser à la volée une version compilée, qui sera exécutée plus rapidement. C'est ce que l'on appelle la compilation à la volée (just in time compilation), qui est utilisée par exemple par la plupart des machines virtuelles pour le langage java. La majorité de ces techniques sont adoptées comme protection anticopie des jeux vidéo, en effet il est alors pratiquement impossible de comprendre le code sans l'exécuter pas à pas. Afin de graver du code automodifiable, ce n'est pas facile, avec certains langages compilés c'est même irréalisable ou presque impossible. Par exemple en C, l'idée intuitive serait de créer un tableau d'octets qui représentent le code binaire d'une fonction, puis de créer un pointeur de fonction, et de lui affecter (avec un « cast ») l'adresse du tableau. Ensuite un appel du pointeur de fonction suffit à exécuter la nouvelle routine. Cela fonctionne en mode réel, mais la plupart des systèmes d'exploitation présents ne le souscrivent pas : les données et les programmes résident dans des espaces séparés et l'exécution d'instructions se trouvant dans le segment des données est bloquée. Il est bien plus facile de consigner du code automodifiable dans un langage de script, où les programmes existent en textes. D'une manière générale, c'est plus facile avec un langage interprété (comme BASIC, PHP ou LISP). Avec un langage compilé, écrire du code automodifiable nécessite généralement de définir une machine virtuelle et un interpréteur pour cette machine virtuelle.