动态内存保护

AIX®系统在设计时考虑到了内存错误的恢复能力。 内存错误弹性是硬件和操作系统级别的恢复的结果。

有多种方法可用于对内存错误进行分类,但出于此讨论的目的,内存错误可分为可恢复和不可恢复错误。

可恢复错误导致位于特定位置的数据可被检索,而不可恢复错误导致数据从有问题的特定位置丢失。 通常,通过在内存子系统中使用硬件冗余或在操作系统引导时屏蔽有问题的区域以防止它被使用,来解决不可恢复错误。

AIX 支持弹性,以此通过称为 "动态内存保护" 的技术来防止可恢复的内存错误成为不可恢复的错误。 动态内存保护基于由硬件提供的支持。 硬件提供用于检测错误并从错误恢复的机制(例如内存清理和纠错电路 (ECC))。 硬件还可提供用于避免以后的不可恢复错误的机制(包括冗余位调整)。

作为这些硬件机制的补充,硬件还通知操作系统有关通过动态内存保护进行最佳处理的错误。 这是通过确定要取消分配的内存区域来完成的。 AIX 操作系统使用此信息来屏蔽有问题的内存区域并停止使用该内存区域。 操作系统会将出错内存区域中当前所包含的所有数据都移至另一内存区域,然后停止使用包含出错内存位置的内存页面。 此内存保护由操作系统完成,而无需任何用户干预,并且它对于最终用户和应用程序是透明的。