IPC的目的:
1;进程间的数据传输
2:进程件共享数据
3:通知事件
4: 进程间的资源共享
5:进程的控制
IPC的几种通信机制:
1:管道——>是一种单向的,先进先出的(FIFO),无结构,固定大小的数据流。
当系统调用PIPE 时,生成两个管道的同时,也返回了两个描述符,
一个用来读管道,一个用来写管道。管道是通过两个FILE 数据结构来实现的。
linux必须同步对管道的访问,也就是说必须先写后读。当要向管道里写东西
或着读东西必须要用标准的write库函数。
2:System V IPC中的三种机制。
(1):消息队列。顾名思义就是一个队列,支部过其中的每个元素是指向msqid_ds数据结构,
msqid_ds结构中包含了一个ipc_perm结构和一个指向消息的的指针。还有两个等待队列,
一个是写等待队列,一个是读等待队列。对于ipc_perm结构,可以参考
http://blog.csdn.net/yuzhoudiwang/archive/2009/07/24/4377064.aspx
(2):信号量。就是两个具有正数字值的对象。
(3):共享内存。共享内存就是把一块内存的空间地址,映射到多个进程的地址空间去,以便多个进程都能够
访问这块内存。