首页 > 代码库 > 第3章 System V IPC

第3章 System V IPC

3.1 概述

System V IPC函数:

技术分享

3.2 key_t和ftok函数

key_t是System V IPC的外部标识符,又称为IPC键,通过键,多个进程在同一个IPC对象上会合

ftok函数将路径名和整数标识符转换为key_t值

#include <sys/ipc.h>key_t ftok(char *pathname,int id)

客户与服务器在pathname和id上达成一致,则双方通过调用ftok函数获取同一个IPC键

三个get函数中(msgget、semget、shmget)使用key和flag参数,来创建或获取一个IPC对象,返回int型标识符

a)key=IPC_PRIVATE则创建

b)key未与某个IPC对象相关联且flag中指定IPC_CREAT位则创建


3.3 ipc_perm结构

struct ipc_perm{        uid_t   uid;        gid_t   gid;        uid_t   cuid;        gid_t   cgid;        mode_t  mode;        ulong_t sep;        key_t   key;};

3.4 创建与打开IPC通道

从IPC键到IPC标识符:

技术分享 

打开一个IPC对象的逻辑流程:

技术分享

 

第3章 System V IPC