4.7 POSIX IPC
POSIX标准和相关应用程序开发接口(APIs)的发展形成一组工业标准接口,这些接口提供了与System V IPC集合相同类型的功能部件:共享内存、信号量机制以及消息队列。它们在形式和功能上与System V中的对应部件十分相似,但是实现方法完全不同。
IPC三个功能部件的POSIX实现都内置在现有IPC功能部件之上的用户库中。POSIX实现使用POSIX IPC命名方式,本质上看像文件名但是不需要有真实文件存在于文件系统中。这种POSIX命名规范提供了必要的抽象(文件描述符)来使用Solaris文件内存映射接口(mmap(2)),在此接口上内置所有的POSIX IPC机制。这与Sytem V IPC函数完全不同,System V IPC函数需要一个关键字值来获取所需IPC资源的标识符。在System V IPC中,生成关键字值的通用方法是ftok(3C)(file-to-key,文件-键值)函数,根据文件的路径名生成一个关键字值。POSIX不再使用关键字值,进程通过使用文件命名规范来获取所需资源。
POSIX IPC代码不需要内核可调参数。每个进程能打开的文件和内存地址空间的数量限制是POSIX IPC中唯一潜在的限制因素。
![]() |
POSIX IPC的所有函数都直接或间接地基于内存映射文件。消息队列和信号机制的功能都直接调用mmap(2),根据xx_open(3R)返回的文件描述符生成内存映射文件。使用POSIX共享内存需要程序员在应用程序代码中显式调用mmap(2)。
后续的章节中会详细介绍mmap(2)和内存映射文件,然而,简单的说,mmap(2)系统调用就是将一个文件或其他一些命名的对象映射到一个进程的地址空间中,如图4-3所示。由mmap(2)生成的地址空间映射可以是私有的,也可以是共享的。POSIX HIPC实现方式所依赖的是共享映射功能。
![]() |
| 图4-3使用mmap(2)的进程地址空间 |
| 回书目 上一节 下一节 |
|
· 第六章 你能帮我吗?.. · Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. |
· 08年5月各大网上书店及.. · 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. |
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||