当有一个较复杂的工作,一个进程完成不了的时候,需要多个进程共同完成,涉及到进程之间的通信,主要涉及以下四个功能
- 数据怎么传输
- 资源怎么共享
- 事件互相通知
- 进程之间的控制
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 共享内存:完成数据传输(有点读写效率高)
本文深入探讨了进程间通信(IPC)在Linux系统及早期Unix系统中的实现方式,包括管道、信号、FIFO等基本机制,以及System V IPC和POSIX IPC的消息队列、信号量和共享内存。这些机制用于数据传输、资源共享、事件通知和进程控制,是多进程协同工作的重要基础。
1301

被折叠的 条评论
为什么被折叠?



