Mémoire et programme
Un programme en langage machine est une suite d'instructions manipulant
des valeurs en mémoire. Cette mémoire est généralement composée des
éléments suivants:
-
les registres (zone mémoire d'accès direct et rapide)
- la pile (pile d'exécution - stack)
- zone d'allocation statique (segment de données ou data
segment)
- zone d'allocation dynamique (tas ou heap)
Seules les zones de la pile et d'allocation dynamique peuvent évoluer
en taille pendant l'exécution d'un programme. Selon le langage de
programmation utilisé, un certain contrôle de la gestion de ces
éléments mémoire est ou non prévu. Dans le cadre du chargement
dynamique de code (voir page ??), celui-ci prend
place dans une zone d'allocation dynamique.