当有一个较复杂的工作,一个进程完成不了的时候,需要多个进程共同完成,涉及到进程之间的通信,主要涉及以下四个功能
- 数据怎么传输
- 资源怎么共享
- 事件互相通知
- 进程之间的控制
Linux系统下IPC
- 早起Unix下的IPC
- 管道:完成数据传输
- 信号:完成时间通知功能
- FIFO:完成数据传输功能
- system-v ipc(属于Unix的分支(贝尔实验室),是在早起Unix系统不断优化得来的)
- system-v 消息队列:完成消息传输、进程控制功能
- system-v 信号量:完成资源共享、进程控制功能
- system-v 共享内存:完成数据传输(有点读写效率高)
- socket-v ipc(也是Unix分支,BSD,允许不同机器之间IPC通信)
- posix-v ipc(统一Unix系统下各种的IPC,所有的Unix系统以及分支都要遵守posix-v的IPC机制)
- posix-v 消息队列:完成消息传输、进程控制功能
- posix-v 信号量:完成资源共享、进程控制功能
- posix-v 共享内存:完成数据传输(有点读写效率高)