《UNIX网络编程 卷2》 笔记: 简介
总述
W.Richarqd Stevens的《UNIX网络编程 卷2:进程间通信》主要讲解Linux进程间通信(IPC),其中也包括一些同步机制。
本系列 《UNIX网络编程 卷2》 笔记 文章主要根据书上内容记录一些笔记。我主要关注IPC的三大领域:
(1)消息传递(管道、FIFO、消息队列)
(2)同步(互斥锁、条件变量、读写锁、信号量)
(3)共享内存区(匿名共享内存区和有名共享内存区)
我们把上述提到的各种类型的进程间通信机制和同步机制统称为IPC对象。在详细讨论之前,读者需要了解如下基础知识,它们对理解IPC非常重要。
进程间信息共享的方式
(1)两个进程共享文件系统中的文件。访问时需要穿越内核,可能需要某种形式的同步。
(2)两个进程共享内核中的某些信息。管道就是一个这种共享方式的例子。
(3)两个进程有一个双方都能访问的共享内存区。访问时不需要穿越内核,但需要某种形式的同步。
IPC对象的持续性
我们把任意类型的IPC对象的持续性定义成该类型的一个对象在系统中一直存在多长时间。
各种类型的IPC对象的持续性如下表所示:
IPC对象的名字空间
当两个或多个无亲缘关系的进程使用某种类型的IPC对象来交换信息时,该IPC对象必须有一个某种形式的名字或标识符,这样一个进程创建IPC对象时,其他的进程就可以指定同一个IPC对象。对于一个给定类型的IPC对象,其可能的名字的集合称为它的名字空间。各种类型的IPC对象的名字空间如下表所示:
fork、exec和exit对IPC对象的影响
更多推荐
所有评论(0)