Sommaire

Gestion de la mémoire

La mémoire est vitale pour le système d’exploitation dont la tâche principale consiste à séparer chaque processus des autres, en lui allouant une quantité initiale de mémoire. Nous découvrons différentes stratégies d’allocation en fonction des systèmes. Les plus anciens (MS-DOS) et les plus basiques (sur microcontrôleur) adoptent une allocation par blocs d’une taille déterminée (64 ko par exemple), cette taille n’étant pas amenée à évoluer au cours du temps. D’autres systèmes ont recours à la pagination - une segmentation fine de l’espace mémoire en blocs de 4 ko -, ce qui autorise une gestion dynamique et efficace de la mémoire. Consécutivement à l’emploi de la mémoire paginée, l’adresse exprimée par un pointeur n’est jamais une adresse physique, mais logique, le microprocesseur se chargeant de la traduction.

Pour ce qui est du modèle applicatif, c’est-à-dire de la segmentation de la mémoire du processus, nous avons en général les zones suivantes :

images/03ppn02.png

Le langage C++ étant comme son prédécesseur très proche du système d’exploitation, il convient de bien connaître les différents types de gestion de la mémoire.

1. Alignement des données

Le développeur doit bien prendre en compte ...