第 9 章 Linux进程通信.pptVIP

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

msgget函数头文件 #includesys/types.h #includesys/ipc.h #includesys/msg.h函数原型 intmsgget(key_tkey,intmsgflg);功能 创建/打开SystemV消息队列参数 key:IPC对象标识。 msgflg:存取权限和操作方式。返回值 成功返回消息队列标识,失败返回-1。msgrcv/msgsnd函数头文件 #includesys/types.h #includesys/ipc.h #includesys/msg.h函数原型 ssize_tmsgrcv(intmsqid,void*msgp,size_tmsgsz,longmsgtyp,intmsgflg); intmsgsnd(intmsqid,constvoid*msgp,size_tmsgsz,intmsgflg);功能接收/发送SystemV消息。参数 msqid:消息队列的标识。 msgp:消息地址。 msgsz:消息大小(字节数)。 msgtyp:接收消息类型。 msgflg:操作方式。返回值 成功返回0,失败返回-1。structmsgbuf{longmtype;//消息类型,必须大于0charmtext[1];//消息,具体结构用户可自定义};msgctl函数头文件 #includesys/types.h #includesys/ipc.h #includesys/msg.h函数原型 intmsgctl(intmsqid,intcmd,structmsqid_ds*buf);功能控制SystemV消息队列的属性。参数 msqid:消息队列标识。 cmd:操作类型。 buf:指向操作的数据。返回值 成功返回0,失败返回-1。msgctl函数structmsqid_ds{structipc_permmsg_perm;structmsg*msg_first; //指向消息队列的首structmsg*msg_last; //指向消息队列的尾__kernel_time_tmsg_stime; //最后发送时间__kernel_time_tmsg_rtime; //最后接收时间__kernel_time_tmsg_ctime; //最后修改时间unsignedshortmsg_cbytes; //当前消息队列的字节数unsignedshortmsg_qnum; //消息队列中的消息数unsignedshortmsg_qbytes; //消息队列的最大字节数__kernel_ipc_pid_tmsg_lspid; //最后发送消息的进程ID__kernel_ipc_pid_tmsg_lrpid; //最后接收消息的进程ID};参数cmd含义IPC_RMID删除消息队列IPC_STAT获取消息队列的状态IPC_SET改变消息队列的存取权限structipc_perm{key_tkey; //IPC对象标识uid_tuid; //用户IDgid_tgid; //用户组IDuid_tcuid; //创建用户IDgid_tcgid; //创建用户组IDunsignedshortmode; //权限分配unsignedshortseq; //序列号};SystemV共享内存将同时映射至不同进程用户空幻的物理内存称为共享内存,物理内存可由若干不连续的物理页构成,共享内存在不同进程用户空间的地址未必相同。内核栈堆数据代码内核栈堆数据代码进程1进程2物理内存映射映射1.SYSTEMV共享内存的操作步骤(1)创建/打开SystemV共享内存。(2)将SystemV共享内存映射至调用者进程的用户空间。(3)当SystemV共享内存不再使用时,将映射接触。shmget函数头

文档评论(0)

释然 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档