免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2236 | 回复: 0
打印 上一主题 下一主题

Solaris的进程间通信机制 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-30 22:28 |只看该作者 |倒序浏览

                                               
       
       
       
       
       
       
System V IPC 框架
提供3种服务:消息队列、信号量阵列以及共享内存块。
通过3类锁确保正确性:命名空间锁(namespace
lock),
槽锁(slot
lock),
p_lock.
共享内存(非常高效的多进程间共享数据方式)
比较有趣的是紧密共享内存方式(ISM),紧密共享内存方式最早是作为一种优化引进Solaris2.2的,它允许底层内核数据和结构的共享。
非ISM系统中为共享内存页面维护每个进程的映射信息,系统为共享内存页面生成了大量的冗余信息。
另外,ISM被使用时,共享页面在内存中被锁定,而且不会被换出内存。这一点对于数据库的用户非常重要。
动态ISM共享内存(DISM),最早在Solaris
8中引进,为应用程序提供动态可变大小的ISM共享内存。
System V信号量
主要特点是采用了信号量集合,
可以用惟一的信号量标识符获取多个信号量。
System V消息队列
以异步方式发送/接收不同大小的消息。开发人员有相当的灵活性,比如可以使用type字段来区分消息的优先级。另外,除非用户显示删除或者系统重启,否则系统不会删除空的和不再使用的消息队列。
POSIX IPC 框架
工业标准接口,提供与System
V IPC 集合相同的功能部件,形式和功能十分相似,但实现方法完全不同

POSIX IPC的所有函数都直接或间接地基于内存映射文件。
POSIX消息队列中,当有新消息加入列队中,会自动通知进程或线程。
Solaris门
通过门,进程可以调用运行在相同系统上的其他进程的函数。门使用了文件抽象机制,而客户端的内核线程正是通过这种机制调用。
               
               
               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/29270/showart_1885029.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP