1.概述
IPC是进程间通信(inter process communication)的简称,传统上该术语描述的是运行在某个操作系统之上的不同进程间的各种消息传递.而涉及不同进程间对消息的处理的时候,也就必须要考虑相关消息的同步。本章主要简单介绍下,会涉及的几种的几种同步方式,和几种常用的IPC方式。后续会深入理解下
2.IPC通信方式
- 管道(pipe):一种广泛使用的IPC形式。但是有两种限制, 1.管道是半双工的。数据只能在一个方向上流动。2.它们只能在具有公共祖先的进程之间使用
- FIFO(也叫命名管道):因其通过路径关系绑定,可以用于任意进程间通信,而不像普通无名管道只能用于有共同祖先的进行直接通信;
- 消息队列
- 共享存储
- RPC(远程过程调用)
3.进程间同步
为了防止多个进程同时修改同一个文件,因而需要某种同步方式
- 记录上锁
- 信号量
- 互斥锁、条件变量:常用于线程间同步,也可用于进程间同步
- 读写锁
4.进程间共享信息方式
我们在一个系统上运行多个进程,每个进程都有各自的地址空间,而他们之间是怎么对一些信息共享的呢?对此下图做了总结
- 左边两个进程可以看出,共享的是文件系统&