IPC综述

一 IPC分类:

(1)IPC(interprocess communication):消息传递和同步。

(2)主要四个领域:

*消息传递(管道、FIFO、消息队列)

*同步(互斥锁、条件变量、读写锁、信号量)

*共享内存区(匿名共享内存区、有名共享内存区)

*过程调用(Sun RPC)


二 IPC对象的持续性:

(1)随进程持续(process-persistent):一直打开到打开着IPC对象的最后一个进程关闭该对象为止。例如:管道和FIFO。

(2)随内核持续性(kernel-persistent):一直存在到内核重新自举和显式删除IPC对象为止。例如:Posix消息队列、信号量和共享内存区必须至少是随内核持续的,也可是随文件系统持续的,具体取决于实现。

(3)随文件系统持续性(filesystem-persistent):IPC对象一直存在到显式删除该对象为止。例如:使用映射文件实现的Posix消息队列、信号量和共享内存区。随文件系统持续通常很少用。


三 命名空间:

(1)当两个或多个无亲缘关系的进程使用某种形式IPC通信时,该IPC对象必须由一个名字或标识符。

(2)除管道没有名字之外(因此不能用于无亲缘关系的进程间通信),对于其他所有形式的IPC,名字是进程间彼此连接以交换消息的手段。


四 fork、exec和exit对IPC对象的影响:



五 Posix IPC:

(1)Posix IPC类型:

*Posix消息队列

*Posix信号量

*Posix共享内存区


(2)Posix IPC名字:

*三种类型IPC对象都是用路径名标示的,但是这些路径名既可以是文件系统中的实际路径名,也可以不是,而这点不一致性会导致一个移植性问题。


(3)所有Posix IPC函数:








  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值