进程间通信第三章(System V IPC)
来源:互联网 发布:曲柄摇杆机构优化设计 编辑:程序博客网 时间:2024/05/16 13:54
1.概述
System V IPC的三种类型:
System V消息队列
System V信号量
System V共享内存区
2.key_t键和ftok函数
三种类型的System V IPC使用key_t键作为它们的名字,key_t在头文件<sys/types.h>定义,通常至少为32位整数值。
函数ftok把一个已存在的路径名和一个整数标识符转换成一个key_t值,称为IPC键。
ftok的典型实现调用stat函数,然后组合以下三个值:
pathname所在的文件系统的信息(stat结构的st_dev成员)
该文件在文件系统的索引节点号(stat结构的st_ino成员)
id的低序8位(不能为0)
由此,id在IPC键的高序8位,st_dev的低序12位IPC在键的接下来的12位,st_ino的低序12位在最后
3.ipc_perm结构
内核给每个IPC对象维护一个信息结构,其内容跟内核给文件维护的信息类似。该结构以及System V IPC函数使用的较为明显的常数值定义在<sys/ipc.h>头文件中。
4.创建与打开IPC通道
创建或打开IPC对象有三个函数:msgget、semget、shmget,它们的第一个参数类型为key_t,对于key值应用程序有两种选择:
调用ftok,给它传递pathname和id。
指定key为IPC_PRIVATE,这将保证创建一个新的、唯一的IPC对象。
getXXX函数都有一个名为oflag的参数,这个参数可以创建一个新的IPC对象也可以访问一个已存在的IPC对象,具体规则如下:
5.IPC权限设置oflag参数的IPC_CREATE位但不设置它的IPC_EXCL位,如果所指定的IPC对象不存在,就创建一个新的对象,否则返回该对象。
同时设置oflag的IPC_CREATE和IPC_EXCL位时,如果所指定键的IPC对象不存在,就创建一个新的对象,否则返回一个EEXIST错误。
6.ipcs和ipcrm程序与Posix的IPC权限大体相同
ipcs输出有关System V IPC特性的各种信息,ipcrm则删除一个System V消息队列、信号量集或共享内存区。
- 进程间通信第三章(System V IPC)
- 进程间通信系列(8)System V IPC概述
- UNP(卷2:进程间通信)—— 第2,3章:Posix IPC 和 System V IPC
- Linux C编程--进程间通信(IPC)5--System V IPC 机制1--消息队列
- Linux C编程--进程间通信(IPC)5--System V IPC 机制2--信号量
- Linux C编程--进程间通信(IPC)5--System V IPC 机制3--共享内存
- Linux C编程--进程间通信(IPC)5--System V IPC 机制1--消息队列
- Linux C编程--进程间通信(IPC)5--System V IPC 机制2--信号量
- Linux C编程--进程间通信(IPC)5--System V IPC 机制3--共享内存
- SYSTEM V IPC(Inter-Process Communication,进程间通信)
- 3.卷2(进程间通信)---System V IPC
- 进程学习:进程间通信(system v IPC)1.消息队列
- 进程学习:进程间通信(system v IPC)2.共享内存
- 进程学习:进程间通信(system v IPC)3.信号灯
- System V 进程间通信(IPC)之System V 消息队列
- Linux进程间通信(IPC)编程实践(三) 详解System V消息队列(1)
- Linux进程间通信(IPC)编程实践(十)System V信号量---PV操作经典题目
- 从并发处理谈PHP进程间通信(二)System V IPC
- Mina学习之Codec Filter
- 115个Java面试题和答案——终极列表(下)
- 二叉树的简单操作
- openstack pep8检查和执行测试用例,及遇到的问题
- RHEL5.6 多网卡bond 绑定
- 进程间通信第三章(System V IPC)
- gentoo xfce桌面fn+f9关闭触摸板
- Label to Region by Bi-Layer Sparsity Priors
- Android 获取ipv4 地址
- mysql不同版本说明
- 食用油做燃料 悉尼大妈将汽车改造成混合动力车
- 据中国政府网消息,国务院总理李克强4月23日主持召开国务院常务会议,确定进一步落实企业投资自主权的政策措施,决定在基础设施等领域推出一批鼓励社会资本参与的项目,部署促进市场公平竞争维护市场正常秩序工作
- OpenGL绘制旋转立方体实例
- 百题纪念之1041 John's trip(欧拉回路)