进程间通信简介(一)
来源:互联网 发布:mac vmware tools 编辑:程序博客网 时间:2024/05/16 01:42
IPC(Inter-process communication)进程间通信,进程间通信包括同一设备上的不同进程和不同设备上的不同进程。不同设备上的不同进程通信就涉及到网络。
进程间通信有几种稳定、有效的的方式几乎被所有的操作系统采用:共享内存(Shared Memory)、管道(Pipe)、Unix Domain Socket和 RPC(Remote Procedure Calls 远程调用)。
(共享内存) 例子一:进程一与进程二通过“共享内存”通信
step1:进程一在内存中申请一块共享区域,申请的共享区域与某个特定key绑定。
step2:将共享区域映射到进程一的空间(这样才能进一步操作)。
step3:进程二调用api通入同一个key将共享区域映射到进程二。
step4:对共享区域读写进程信息交换。
step5:完成通信后,各个进程撤销之前的映射操作
step6:删除共享区域,回收内存。
(管道不做介绍)
(Unix Domain Socket) 我们因为学习TCP/IP协议才接触到Socket。Socket在网络通信领域广泛应用 被称为Network Socket;Socket在同一机器上的进程间通信也是完全能够胜任的,但是执行效率不理想。因此出现了Unix Domain Socket专门针对单机内的进程间通信。(Network Socket与UDS的区别:前者是以TCP/IP协议栈为基础的,需要分包、重组等一系列操作,而后者的实现机制上不是依赖这些协议的)
(RPC) RPC涉及到的通信双方通常运行于不同的机器中。RPC机制中开发人员不需关心中间传输过程怎样实现。一个完成的通信步骤:
1,客户端进程调用Stub接口。
2,Stub跟操作系统要求打包,并执行系统调用
3,由内核完成与服务端的具体交互。,
4,服务端Stub解包并调用与数据包匹配的进程。
5,进程执行操作
6,服务端逆向将数据返回给客户端。
- UNPv2:进程间通信(一)简介
- 进程间通信简介(一)
- 进程间通信简介(一)——信号
- 《进程间通信》------------简介
- 进程间通信(一)
- 进程间通信(一)
- 进程间通信(一)
- 进程间通信(一)
- 进程间通信第一章(简介)
- linux 进程间通信简介(IPC)
- 进程间通信(一)
- 进程间通信方式简介
- Unix环境进程间通信(一)
- Linux环境进程间通信(一)
- Linux环境进程间通信(一)
- Linux环境进程间通信(一)
- Linux环境进程间通信(一)
- Linux环境进程间通信(一)
- 线程池ThreadPoolExecutor使用简介
- 每一个程序员都是自学成才
- TextView内容放大缩小动画,不是控件
- Oracle 聚簇因子概念及实验
- 关于main(int argc, char* argv[])的理解
- 进程间通信简介(一)
- llegalStateException: Fragment XXXFragment not attached to Activity异常处理
- Poj 3114 Countries in War
- Oracle导入导出相关问题
- LaTex 表格问题
- doxygen 快速入门
- c# << , >> , &, |,^
- SQL 数字转为时分秒
- javascript下的瀑布流效果