编程接口指南

RSMAPI 常规用法说明

这些用法说明介绍了共享内存操作的导出端和导入端的常规注意事项。另外,这些用法说明还包含有关段、文件描述符和 RSM 可配置参数的常规信息。

段分配和文件描述符用法

系统会为每个导出操作或导入操作分配一个文件描述符,导入或导出内存的应用程序无法访问此描述符。每个进程的文件描述符分配的缺省限制为 256。导入或导出应用程序必须相应调整此分配限制。如果应用程序将文件描述符限制增加到超过 256,则为导出段和导入段分配的文件描述符值从 256 开始。选择这些文件描述符值是为了避免干扰应用程序的正常文件描述符分配。此行为允许在仅使用小于 256 的文件描述符值的 32 位应用程序中使用特定的 libc 函数。

导出端注意事项

应用程序必须防止在重新绑定操作完成之前访问段。在重新绑定过程中,访问段数据不会导致系统故障,但是数据内容结果是不确定的。当前,虚拟地址空间必须已映射并有效。

导入端注意事项

为段导入指定的控制器必须与用于段导出的控制器具有物理连接。

RSM 可配置参数

SUNWrsm 软件包包括 rsm.conf 文件。此文件位于 /usr/kernel/drv 中。此文件是 RSM 的配置文件。rsm.conf 文件可用于指定特定可配置 RSM 属性的值。当前在 rsm.conf 中定义的可配置属性包括 max-exported-memoryenable-dynamic-reconfiguration

max-exported-memory

此属性用于指定可导出内存量的上限。此上限以可用内存总量的百分比表示。如果指定此属性值为零,则表示可导出内存量没有限制。

enable-dynamic-reconfiguration

此属性的值表示是否启用了动态重新配置。值为零表示禁用动态重新配置。值为 1 表示可启用动态重新配置支持。此属性的缺省值为 1。