- 105
- 0
- 约5.46千字
- 约 23页
- 2018-10-31 发布于天津
- 举报
新创建共享内存的数据结构shmid_ds
* 五 进程通信 管道(pipe) 套接字(socket) System V IPC机制 消息队列 信号量 共享内存 1. 共享内存 --原理:允许一个或多个进程通过同时出现在它们的虚拟地址 空间的内存进行通信。该虚拟内存的页面在每一个共 享进程的页表中都有页表条目引用。 --同一块内存的不同形式: 说明:对共享内存的访问通过唯一的共同标志“key”控制,并进行 访问权限检查。 Key:在IPC通信模式下,唯一标识每个IPC对象的名字。 IPC 信号量 消息传递 共享内存 虚拟内存文件 虚拟内存 --共享内存的API 1)shmeget(): 创建一块共享内存。 2)shmat(): 将一块已存在的共享内存映射到一个进程的地址空间。 3)shmdt(): 取消映射(断开连接)。 4)shmctl(): 执行对共享内存的各种控制命令。 1)shmeget()://分配一块共享内存 函数声明: #include sys/ipc.h; //ipc_perm,ipc对象的权限信息 #include sys/shm.h; //shmid_ds,共享内存的结构 int shmget(key_t key, int size, int shmflg); 参数说明: key:共享内存的键值,在ipc对象的数据结构ipc_perm中。 一块已存在的共享内存的键值 0 //如果参数shmflg设置了IPC_CREATE标志,同样创建一块新的共享内存 IPC_PRIVATE //创建一块新的共享内存 取值 size:所需共享内存的最小尺寸(以页为单位)。 shmflg:共享内存属性标志(IPC_CREAT/IPC_EXCL)。 IPC_CREAT:如果共享内存不存在,则创建;否则打开。 IPC_EXCL :不存在共享内存时才建立新的共享内存;否则,产生错误。 返回值:成功,返回共享内存的标识符 不成功,-1,出错原因放在errno中。 新创建共享内存的数据结构:shmid_ds Include/linux/shm.h Struct shmid_ds { struct ipc_perm shm_perm; // 存取权限,在/linux/ipc.h中定义 int shm_segsz; // 共享内存大小 __kernel_time_t shm_atime; // 最后一次连接该共享内存时间 __kernel_time_t shm_dtime; //最后一次断开该共享内存时间 __kernel_time_t shm_ctime; //最后一次更改该共享内存时间 __kernel_ipc_pid_t shm_cpid; // 创建者进程标示符 __kernel_ipc_pid_t shm_lpid; //最后一个操作者进程标示符 unsigned short shm_nattch; // 连接共享内存的进程数 unsigned short shm_unused; // 兼容用 void *shm_unused2; // 备用 void *shm_unused3; //备用 }; 2)shmat()://连接一块共享内存 函数声明: #include sys/types.h; #include sys/shm.h; int *shmat(int shmid, const void *shmaddr, int shmflg); 参数说明: shmid:欲连接的共享内存的标识符。 shmaddr:欲连接的地址。 shmflg:共享内存属性标志(IPC_CREAT,IPC_EXCL等)。 返回值
您可能关注的文档
- 家蚕以卵繁殖约经10天左右孵化成幼虫蚁蚕通过摄食迅速生长体.PPT
- 富蕴级农村饮水安全工程水质检测能力.DOC
- 对抢采掠青损坏母树或者在劣质林内和劣质母树上采种的处罚.DOC
- 对分离现象的解释控制显性性状的遗传因子是显性遗传因子用大写字母.PPT
- 对抢采掠青损坏母树或者在劣质林内和劣质母树上采种的处罚-巴马.DOC
- 寻找n个人中年龄最大者-西北大学智能信息处理室.PPT
- 射出成型寻求最小翘曲量及成型周期之制程参数最佳化OPTIMAL.PDF
- 小学数学各年级全部PPT.PPT
- 小学低年段的识字与阅读教学——卢婕妤.PPT
- 小微信贷三重利好共振新股上催化板块机会-通联数据-应用平台.PDF
- (正式版)DB51∕T 1867-2014 《袋栽黑木耳生产技术规程》.docx
- (正式版)DB51∕T 2413-2023 《油橄榄密植丰产栽培技术规程》.docx
- (正式版)DB51∕T 2436-2017 《川菜东坡一品肉烹饪工艺技术规范》.docx
- (正式版)DB51∕T 2396-2017 《农村电子商务服务站(点)服务与管理规范》.docx
- (正式版)DB51∕T 2419-2017 《桢楠扦插育苗技术规程》.docx
- CN105145773B 一种无花果曲奇饼干及其制作方法 (江苏农林职业技术学院).docx
- CN105203825A 微测量电极的制作方法和热电势的测量方法及相关装置 (国家纳米科学中心).docx
- CN105137533B 一种啁啾光纤光栅及其制作方法 (南京航空航天大学).docx
- (正式版)DB51∕T 2453-2018 《巴山新居公共管理指南》.docx
- (正式版)DB51∕T 1892-2014 《川西北地区沙化土地治理技术规程》.docx
原创力文档

文档评论(0)