说明
- 进程间通信是指不同进程之间进行数据交换和协同操作的方法。在操作系统中,每个进程拥有独立的地址空间和内存,无法直接访问其他进程的数据。因此,为了实现进程之间的数据共享和协同操作,需要使用各种进程间通信的机制,如管道、消息队列、共享内存、信号量等
- 进程间通信可以分为同步和异步两种方式。同步方式是指进程之间必须按照某种协议和规则进行数据交换,等待对方响应后才能进行下一步操作;异步方式是指进程可以独立地进行数据交换和处理,不需要等待对方的响应
分类
- 管道
- 消息队列
- 共享内存
- 信号量等
本质
- 进程间通信的本质是让 不同的进程看到同一份资源(内存 , 文件,内核缓冲等)
目的
- 数据传输:一个进程需要将它的数据发送给另一个进程
- 资源共享:多个进程之间共享同样的资源
- 通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)
- 进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变