3.1 概述
3.2 key_t键和ftok函数
System V IPC使用key_t值作为他们的名字,key_t通常是一个至少32位的整数。
函数ftok把一个已存在的路径名和一个整数标识符(低序8位)转换成一个key_t值,称为IPC键。
key_t ftok(const char *pathname, int fd);
3.3 ipc_perm结构
3.4 打开与创建IPC通道
getXXX函数中oflag指定IPC对象的读写权限位。
3.5 IPC权限
3.6 标识符重用
seq标识槽位使用情况的序列号,每当删除一个IPC对象时,内核就递增相应的槽位号,若溢出则循环回0.
存在的原因:
1、由内核维护的用于打开文件的文件描述符是小整数,只在单个进程内有用。
3.7 ipcs和ipcrm
ipcs输出有关System V IPC特性的各种信息。
ipcrm删除一个消息队列、信号量集或共享内存区。
3.8 内核限制
消息队列的最大数目、每个信号量集的最大信号量数。
允许系统管理员部分或完全修改这些默认限制,但是其中一些仍限制使用16位整数,形成一个难以突破的硬限制。
在/etc/system文件中加入语句来修改。