一、什么是进程间通信
操作系统为用户提供的几种进程间的通信方式
二、为什么要有进程间通信
进程间具有独立性(每个进程都有自己的一份独立的虚拟地址空间,一个进程只能访问自己的虚拟地址空间,但不包括内核空间,不能访问其他进程的),如果多进程之间想相互通信,此时无法直接进行(一个进程不能读取其他进程的虚拟地址空间中的内容,更不能去修改),因此需要操作系统提供一些公共资源(内存、文件等)来让多个进程都能通过访问这个媒介进行通信
三、进程间通信发展
1、管道:最古老的通信方式
2、System V IPC:一套较古老的标准
3、POSIX IPC:一套跨平台的新标准
四、进程间通信分类
1、管道
- 匿名管道
- 命名管道
2、System V IPC
3、POSIX IPC
- 消息对列
- 共享内存
- 信号量
- 互斥量
- 条件变量
- 读写锁
4、其他
- 普通文件
- socket