Protection de la mémoire dynamique
Les systèmes AIX sont conçus pour résister aux erreurs de mémoire. La résilience aux erreurs de mémoire est le résultat des reprises au niveau du matériel et du système d'exploitation.
Il existe plusieurs façons de catégoriser les erreurs de mémoire, mais pour les besoins de cette discussion, les erreurs de mémoire sont classées comme des erreurs récupérables et non récupérables.
Les erreurs remédiables entraînent l'extraction de données situées à des emplacements spécifiques et les erreurs irrémédiables entraînent une perte de données à partir de l'emplacement spécifique en question. Les erreurs irrémédiables sont généralement résolues en utilisant la redondance matérielle dans le sous-système de mémoire ou en masquant la zone en question lors de l'initialisation du système d'exploitation.
AIX prend en charge la résilience afin d'éviter que les erreurs de mémoire récupérables ne deviennent des erreurs irrémédiables via une technique connue sous le nom de Dynamic Memory Guarding. Dynamic Memory ??? est basé sur le support fourni par le matériel. Le matériel fournit des mécanismes de détection et de récupération des erreurs (telles que le nettoyage de la mémoire et les circuits correcteurs d'erreurs (ECC)). Le matériel peut également fournir des mécanismes pour éviter les erreurs irrémédiables à l'avenir, y compris la direction des bits redondants.
En complément de ces mécanismes matériels, le matériel peut informer le système d'exploitation des erreurs traitées de manière optimale via Dynamic Memory Guarding. Cette opération est effectuée en identifiant les zones de mémoire à désallocation. Le système d'exploitation AIX utilise ces informations pour masquer la zone de mémoire en question et pour arrêter de l'utiliser. Le système d'exploitation déplace toutes les données contenues dans la zone de mémoire erronée vers une autre zone de mémoire, puis arrête d'utiliser la page de mémoire qui contient l'emplacement de la mémoire erronée. Cette protection de mémoire est réalisée par le système d'exploitation sans intervention de l'utilisateur et est transparente pour les utilisateurs finaux et les applications.