- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本科毕业论文操作系统课程设计论文之消息函数的分析论文
摘 要
Linux是一种自由和开放源码的类Unix操作系统。目前存在着许多不同的Linux,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机。
Linux采用消息队列的方式来实现消息传递。System V的消息队列(message queues)是进程之间互相发送消息的一种异步(asynchronously)方式,在这种情形之下,发送方不必等待接收方检查它的消息——即在发送完消息后,发送方就可以从事其它工作了——而接收方也不必一直等待消息。
新的消息总是放在队列的末尾,接收的时候并不总是从头来接收,可以从中间来接收。消息队列允许一个或多个进程写消息,一个或多个进程读取消息。Linux维护了一系列消息队列的msgque向量表。其中的每一个单元都指向一个msqid_ds的数据结构,完整描述这个消息队列。当创建消息队列的时候,从系统内存中分配一个新的msqid_ds的数据结构并插入到向量表中摘 要 1
1 课设简介 3
1.1课程设计题目 3
1.2课程设计小组成员 3
2 LINUX的消息函数主模块功能描述 3
3 LINUX的消息函数各个子模块功能描述 4
3.1 Msgget: 4
3.2 Msgsnd: 5
3.3 Msgrcv: 6
3.4 Msgctl: 7
4 LINUX的消息函数各个子模块相关函数代码分析结果 9
4.1有关常量、函数及相关错误信息的含义: 9
4.1.1 常量含义: 9
4.1.2 错误信息含义 9
4.1.3 相关函数及文件首部含义 9
4.2函数sys_msgget的分析 16
4.2.1 代码及注释 16
4.3发送消息函数real_msgsnd的分析 23
4.3.1 代码分析 23
4.4接收消息函数real_msgrcv的分析 28
4.4.1 代码及注释 28
4.5函数sys_msgctl的分析 33
4.5.1 代码及注释 33
心得体会 42
参考文献 43
1 课设简介
1.1课程设计题目
LINUX的消息函数的分析
1.2课程设计小组成员
Msgget:孙帅,分析消息队列的创建函数(sys_msgget)以及与它相关的函数newque、findkey、msg_init,写出代码分析结果,明确组内成员的明细分工,总体把握组内成员的进度。后期组织组内成员成果汇总进行本组总体报告撰写。王亚璇,画出流程图来表示相关函数之间的相互调用关系。魏蕾,负责查阅资料。
Msgsnd:张婷,分析消息的发送函数(real_msgsnd)以及与它相关的函数sys_msgsnd,写出代码分析结果。王鑫坤,画出流程图来表示相关函数之间的相互调用关系。闫瞳,张飞龙,负责查阅资料。
Msgrcv:樊德山,分析消息的接收函数(real_msgrcv)以及与它相关的函数sys_msgrcv,写出代码分析结果。赵松,画出流程图来表示相关函数之间的相互调用关系。鹿新宇,孙适,负责查阅资料。
Msgctl:刘晶,分析消息队列的控制sys_msgctl)以及与它相关的函数freeque,写出代码分析结果。鞠冰霜,画出流程图来表示相关函数之间的相互调用关系。刘航,负责查阅资料。
2 LINUX的消息函数主模块功能描述
Linux采用消息队列的方式来实现消息传递。System V的消息队列(message queues)是进程之间互相发送消息的一种异步(asynchronously)方式,在这种情形之下,发送方不必等待接收方检查它的消息——即在发送完消息后,发送方就可以从事其它工作了——而接收方也不必一直等待消息。
新的消息总是放在队列的末尾,接收的时候并不总是从头来接收,可以从中间来接收。消息队列允许一个或多个进程写消息,一个或多个进程读取消息。Linux维护了一系列消息队列的msgque向量表。其中的每一个单元都指向一个msqid_ds的数据结构,完整描述这个消息队列。当创建消息队列的时候,从系统内存中分配一个新的msqid_ds的数据结构并插入到向量表中每一个msqid_ds数据结构都包括一个ipc_perm的数据结构和进入这个队列的消息的指针。另外,Linux保留队列的改动时间,例如上次队列写的时间等。Msqid_ds队列也包括两个等待队列:一个用于向消息队列写,另一个用于读。 每一次一个进程试图向写队列写消息,它的有效用户和组的标识符就要和队列的 ipc_perm数据结构的模式比较。如果进程可以这个队列写,则消息会从进程的地址空间写到msg数据结构,放到消
您可能关注的文档
- 本科毕业论文220kv输电线路距离保护设计.doc
- 本科毕业论文200万吨矿井提升及运输设备选型设计.doc
- 本科毕业论文310国道改造工程设计说明书.doc
- 本科毕业论文492发动机曲轴箱铣主轴孔卡瓦槽夹具设计.doc
- 本科毕业论文468q发动机缸体立式组合钻床液压系统、液压站及plc设计.doc
- 本科毕业论文492发动机曲轴箱铣主轴孔卡瓦槽夹具设计论文.doc
- 本科毕业论文300mw机组机务部分初步设计方案论文.doc
- 本科毕业论文600mw火电机组送风控制系统.doc
- 本科毕业论文1031首采面切眼探放水设计.doc
- 本科毕业论文500亩虻链农业产业化示范基地建设项目商业计划书.doc
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
最近下载
- 2024 ESC心房颤动管理指南解读(全)校对版.pptx
- 期末实验必刷题(含基础,重点,难点)(解析版)-2023-2024学年九年级物理第一学期期末挑战满分训练.docx VIP
- 高考模拟作文“互联网时代的决策之道:信息与理性”审题立意及范文-备战2025年高考语文各地名校模考卷作文导写.docx
- 检维修安全培训.pptx VIP
- 1一个投机者的告白.doc
- 钣金工艺学课件(PPT-83页).ppt
- 中华体育精神的文化内涵与思想来源.docx VIP
- 2023惠州西湖壹城购物中心项目招商手册-41P.pdf
- 第八章 第19节 极点与极线-解析版.docx
- 15ZJ001_建筑构造用料做法.docx
文档评论(0)