Solaris 10 新增功能

SPARC: 共享上下文支持

内存管理单元 (Memory Management Unit, MMU) 硬件使用上下文机制在不同进程地址空间中区分对同一个虚拟地址的使用。使用共享内存时,上下文机制引入了一些低效行为。共享内存之所以低效,是因为特定共享内存中的数据以及不同进程中的地址可能实际上是相同的,而与每个进程关联的上下文编号不同。因此,MMU 硬件无法识别匹配。无法识别匹配将导致不必要地从 MMU 转换缓存和转换后备缓冲器 (Translation Lookaside Buffer, TLB) 中逐出映射,而取而代之的是具有不同上下文编号的相同映射。

Niagara 2 系统有一个附加的共享上下文,它是一种硬件功能,可用于防止在共享内存处理过程中出现低效行为。如果搜索 TLB 以便进行映射,则专用或共享上下文中的匹配项会导致 TLB 命中。当前软件对共享上下文的支持将为使用动态锁定共享内存 (Dynamic Intimate Shared Memory, DISM) 的进程激活此功能。这种情况下,每个进程映射到相同虚拟地址处且具有相同权限的进程文本段以及 DISM 段将使用共享上下文。