IPC (InterProcess Communication)
原文链接:操作系统IPC
进程
- 操作系统会以进程为单位,分配系统资源(CPU时间片、内存等资源),进程是资源分配的最小单位。
- 进程、线程、协程
进程间的通信
- 管道(Pipe)
- 命名管道(FIFO)
- 消息队列 (Message Queue)
- 信号量 (Semaphore)
- 共享内存 (Shared Memory)
把同一段物理机制映射到多个进程的内存地址空间的通信机制。每个进程的内存地址空间需要明确设置共享内存段,同一个进程的线程共享地址空间。(速度快,但是没有同步) - 套接字 (socket)
进程通信:阻塞(同步)和非阻塞(异步)
- 阻塞通信:
- 添加链接描述阻塞发送:发送者在发送消息后进入等待,直到接收者成功收到
- 阻塞接收:接收者在请求接收消息后进入等待,直到成功收到一个消息
- 非阻塞通信:
- 非阻塞发送:发送者在消息发送后,可立即进行其他操作
- 非阻塞接收:没有消息发送时,接收者在请求接收消息后,接收不到任何消息
共享内存
原文链接:共享内存