IPC主要包括:管道,消息队列,信号量,共享内存, 套接字(SOCKET)。
一、IPC对象的持久性
每种IPC机制都会借助一种数据结构,这种数据结构的实例称为该IPC机制的对象(相应的,用于同步互斥的数据结构的实体也可以称为该机制的对象)。理清IPC对象的持久性,有助于理解相应的IPC的工作机制。
1.对象持久性
大致上IPC对象的持久性可以分为三种:
进程持久性:具有这种持久性的对象在持有它的最后一个进程关闭了该对象时就会消失。
内核持久性:具有这种持久性的对象在两种情形下会消失,(1)系统重启(2)它被显式的删除
文件系统持久性:具有这种持久性的对象只有在它被显式删除时才会消失。
下表是常见的IPC对象以及用于同步互斥的对象的持久性
从表中看没有一种对象的持久性是文件系统的。这也是合理的,因为很少有进程能不受系统重启的影响;而且使用文件系统持久性也可能会降低该IPC机制的性能。
2.调用fork,exec,_exit对IPC对象及同步互斥对象的影响
时间: 2024-10-28 10:05:08