求助:关于system v IPC的键与标识符
最近在看system V的IPC,其中关于IPC的键与标识符这两个概念分得不是很清楚。
标识符通过get类函数获得,后续用户程序对IPC对象的操作都是通过这个标识符来进行的。System V中IPC对象的数据结构都包括一个ipc_perm结构,其中键值key就是在这个结构体中。问题一:标识符的值是存储在哪呢?
我们知道由键-->标识符:
可以通过调用XXXget函数由键获得标识符
系统最终是要通过key值来寻找到具体的IPC对象吗?
如果是的话,那是如何完成由标识符-->key的转换?(因为具体的IPC操作函数都是使用标识符为参数的)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
这是sysV里面极其蛋疼的设计...
key就像是SYSV IPC的inode;
标识就像是SYSV IPC的文件描述符(但这个描述符是系统全局的)。
嗯,谢谢你的回复,关于这个关系,我现在也有点明白了。
但还是没解决我的疑问啊。
IPC的标识符存储在哪?像文件描述符一样存储进程的PCB里?
系统是如何实现由标识符到键的转换的?
不能让我的帖子沉了啊,自己顶上去,让大牛们看见,帮我解答下。
上网找了好多资料,都没有关于这个的。
在线等答案,白天不能上网。。。
我也遇到这个问题了,我刚开始还以为是同一个东西,不同的叫法,看来理解的不对啊