Programmation/Gestion de mémoire
La mémoire d'un ordinateur est partagée entre tous les programmes qui s'exécutent sur la machine. Le lancement d'un programme se fait en le chargeant dans une zone mémoire allouée par le système d'exploitation, avant de lui passer la main en exécutant les instructions chargées dans la zone allouée.
Le programme peut ensuite allouer de la mémoire supplémentaire pour ses structures de données en utilisant les fonctions d'allocation dynamique de mémoire fournies par le système d'exploitation. La quantité totale de mémoire disponible est limitée : quand une zone n'est plus utilisée, le programme doit la libérer afin de la rendre disponible pour allouer une autre structure de données ou pour la rendre disponible à un autre programme.
Certains langages de programmation de haut niveau gèrent automatiquement l'allocation de mémoire (taille de zone à allouer calculée automatiquement), et la libération des zones qui ne sont plus référencées en utilisant le principe du ramasse-miette (une tâche de fond de libération automatique).