您的位置:首页 > 其它

操作系统中的IPC机制

2016-02-29 19:18 274 查看
按发送路径来看,可分为直接通信和间接通信。



1. 直接通信

(1)进程必须正确的命名对方

send (P, message) – 发送信息到进程P

receive(Q, message) – 从进程 Q接受消息

(2)通信链路的属性

自动建立链路

一条链路恰好对应一对通信进程

每对进程之间只有一个链接存在

链接可以是单向的,但通常为双向的

2. 间接通信

(1)通过操作系统维护的消息队列实现进程间的消息接收和发送

每个消息队列都有一个唯一的标识

只有共享了相同消息队列的进程,才能够通信

(2)通信链路的属性

只有共享了相同消息队列的进程,才建立连接

连接可以是单向或双向

消息队列可以与多个进程相关联

每对进程可以共享多个消息队列

(3)通信流程

创建一个新的消息队列

通过消息队列发送和接收消息

销毁消息队列

3. 进程通信可划分为阻塞(同步)或非阻塞(异步)
(1) 阻塞通信

阻塞发送:发送者在发送消息后进入等待,直到接收者成功收到

阻塞接收:接收者在请求接收消息后进入等待,直到成功收到一个消息

(2)非阻塞通信

非阻塞发送:发送者在消息发送后,可立即进行其他操作

非阻塞接收:没有消息发送时,接收者在请求接收消息后,接收不到任何消息

4. 信号

进程间的软件中断通知和处理机制。



5. 管道(间接通信

进程间基于内存文件的通信机制。

6. 消息队列(间接通信

是由操作系统维护的以字节序列为基本单位的间接通信机制。

7. 共享内存(直接通信

把同一段物理机制映射到多个进程的内存地址空间的通信机制。每个进程的内存地址空间需要明确设置共享内存段,同一个进程的线程共享地址空间。(速度快,但是没有同步)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: