JavaScript is required to for searching.
跳过导航链接
退出打印视图
编程接口指南     Oracle Solaris 10 1/13 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  内存和 CPU 管理

2.  用于 Solaris Cluster 的远程共享内存 API

共享内存模型概述

API 框架

API 库函数

互连控制器操作

rsm_get_controller

rsm_release_controller

rsm_get_controller_attr

群集拓扑操作

rsm_get_interconnect_topology

rsm_free_interconnect_topology

数据结构

管理操作

内存段操作

导出端内存段操作

创建和销毁内存段

发布、重新发布和取消发布内存段

重新绑定内存段

导入端内存段操作

连接和断开连接内存段

内存访问原语

分散/集中访问

段映射

屏障操作

事件操作

RSMAPI 常规用法说明

段分配和文件描述符用法

导出端注意事项

导入端注意事项

RSM 可配置参数

3.  会话描述协议 API

4.  进程调度程序

5.  地址组 API

6.  输入/输出接口

7.  进程间通信

8.  套接字接口

9.  使用 XTI 和 TLI 编程

10.  包过滤钩子

11.  传输选择和名称到地址映射

12.  实时编程和管理

13.  Solaris ABI 和 ABI 工具

A.  UNIX 域套接字

索引

共享内存模型概述

在共享内存模型中,应用程序进程会在其本地地址空间中创建一个 RSM 导出段。一个或多个远程应用程序进程创建 RSM 导入段,在导出段与导入段之间建立互连的虚拟连接。所有进程将使用其特定地址空间的本地地址,来实现对共享段的内存引用。

应用程序进程通过为 RSM 导出段分配可在本地寻址的内存来创建此导出段。使用标准 Solaris 接口(如 System V 共享内存、mmap(2)valloc(3C))之一即可实现此分配。然后,进程会调用 RSMAPI 来创建段,用于为已分配的内存提供引用句柄。RSM 段通过一个或多个互连控制器进行发布。可以远程访问已发布的段。另外,还将发布允许导入该段的节点的访问特权列表。

将为导出的段分配一个段 ID。通过该段 ID 及其创建进程的群集节点 ID,导入进程可唯一地指定一个导出段。如果成功创建了导出段,则会向进程返回一个段句柄,以便在后续段操作中使用。

应用程序进程通过使用 RSMAPI 来创建导入段,便可以对已发布的段进行访问。创建导入段之后,应用程序进程便建立了互连的虚拟连接。如果成功创建此导入段,则会向应用程序进程返回一个 RSM 导入段句柄,以便在后续段导入操作中使用。建立虚拟连接之后,如果互连支持内存映射,则应用程序可能会请求 RSMAPI 提供内存映射以进行本地访问。如果不支持内存映射,则应用程序可以使用 RSMAPI 提供的内存访问原语。

RSMAPI 提供了一种机制,该机制可以支持远程访问错误检测并能解决写入顺序内存模型问题。此机制称为屏障

RSMAPI 提供一种通知机制,可以同步本地访问和远程访问。当导入进程完成数据写入操作后,导出进程便可以调用函数使自身阻塞。当导入进程完成写入后,此进程会通过调用信号函数来使导出进程解除阻塞。解除阻塞之后,导出进程便可以处理数据。