UNP-IPC-CHAPTER01-简介
概述
传统的消息传递,以及最新的共享内存。共享内存需要同步。
消息传递
- 管道
- System-V消息队列
- posix消息队列
- RPC
同步
- 记录上锁
- system-v信号量
- posix信号量
- 互斥锁和条件变量
- 读写锁
进程、线程与信息共享
进程共享
- 文件共享。穿越内核
- 管道共享。在内核中
- 内存共享。不涉及内核
线程对于全局变量,本身就是同步的
IPC对象的持续性-需要重新理解
- 随进程。管道和FIFO
- 随内核。System-v消息队列、信号量、共享内存
- 随文件系统
名字空间
管道没有名字,因此,不能用于没有亲缘关系的进程。FIFO有路径名,可以用于无亲缘关系的进程
fork、exec、exit对IPC对象的影响
出错处理:包裹函数
unix标准
IPC例子索引表
三种交互模式
- 文件服务器。消息传递
- 生产者消费者。同步
- 序列号持续增1。共享内存
小结
IPC主要分4个部分
- 消息传递(管道、FIFO、消息队列)
- 同步(互斥锁、读写锁、信号量、条件变量)
- 共享内存(匿名共享内存、有名共享内存)
- 过程调用