操作系统中的IPC机制
作者:网络转载 发布时间:[ 2016/3/4 11:23:34 ] 推荐标签:操作系统 进程
按发送路径来看,可分为直接通信和间接通信。
1. 直接通信
(1)进程必须正确的命名对方
send (P, message) – 发送信息到进程P
receive(Q, message) – 从进程 Q接受消息
(2)通信链路的属性
自动建立链路
一条链路恰好对应一对通信进程
每对进程之间只有一个链接存在
链接可以是单向的,但通常为双向的
2. 间接通信
(1)通过操作系统维护的消息队列实现进程间的消息接收和发送
每个消息队列都有一个的标识
只有共享了相同消息队列的进程,才能够通信
(2)通信链路的属性
只有共享了相同消息队列的进程,才建立连接
连接可以是单向或双向
消息队列可以与多个进程相关联
每对进程可以共享多个消息队列
(3)通信流程
创建一个新的消息队列
通过消息队列发送和接收消息
销毁消息队列
3. 进程通信可划分为阻塞(同步)或非阻塞(异步)
(1) 阻塞通信
阻塞发送:发送者在发送消息后进入等待,直到接收者成功收到
阻塞接收:接收者在请求接收消息后进入等待,直到成功收到一个消息
(2)非阻塞通信
非阻塞发送:发送者在消息发送后,可立即进行其他操作
非阻塞接收:没有消息发送时,接收者在请求接收消息后,接收不到任何消息
4. 信号
进程间的软件中断通知和处理机制。
5. 管道(间接通信)
进程间基于内存文件的通信机制。
6. 消息队列(间接通信)
是由操作系统维护的以字节序列为基本单位的间接通信机制。
7. 共享内存(直接通信)
把同一段物理机制映射到多个进程的内存地址空间的通信机制。每个进程的内存地址空间需要明确设置共享内存段,同一个进程的线程共享地址空间。(速度快,但是没有同步)
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11