linux消息处理函数,LINUX的消息函数的分析.doc

北京工业大学计算机学院

操作系统课程设计报告

LINUX的消息函数的分析

小组成员:李悦 (组长)赵野白静谊颜博报告提交日期: 2003年1月14日

目录

1 课设简介:1

1.1课程设计题目1

1.2课程设计小组成员1

1.3小组成员任务分配情况及每人所占工作比例1

2 LINUX的消息函数主模块功能描述:1

3 LINUX的消息函数各个子模块功能描述:2

3.1 Msgget:李悦 负责)2

3.2 Msgsnd:白静谊 负责)2

3.3 Msgrcv:颜博 负责)3

3.4 Msgctl:赵野 负责)3

4 数据结构分析4

4.1 数据结构图如下所示:4

4.2 数据结构分析:5

4.2.1 Struct msg:赵野 负责)5

4.2.2 Struct msqid_ds:颜博 负责)5

4.2.3 Msgque:白静谊 负责)5

5 LINUX的消息函数各个子模块相关函数代码分析结果6

5.1 有关常量及相关错误信息的含义:颜博 负责)6

5.1.1 常量含义:6

5.1.2错误信息含义6

5.2 初始化函数msg_init函数的分析 李悦 负责)6

5.2.1 代码及注释6

5.2.2流程图7

5.3 函数sys_msgget的分析 李悦 负责)8

5.3.1代码及注释8

5.3.2流程图9

5.4 定位消息队列函数findkey的分析 李悦 负责)10

5.4.1 代码及注释10

5.4.2流程图11

5.5 创建消息队列函数newque的分析 李悦 负责)11

5.5.1代码及注释11

5.5.2流程图13

5.6发送消息函数real_msgsnd的分析 白静谊 负责)14

5.6.1代码分析14

5.5.2 流程图17

5.7接收消息函数real_msgrcv的分析 颜博 负责)19

5.7.1代码及注释19

5.7.2流程图:22

5.8 函数sys_msgctl的分析 赵野 负责)24

5.8.1 代码及注释24

5.8.2流程图28

5.9释放队列空间函数freeque 赵野 负责)29

5.9.1代码及注释29

5.9.2流程图30

6心得体会31

参考文献:31

相关工具:31

1 课设简介:

1.1课程设计题目

LINUX的消息函数的分析

1.2课程设计小组成员

赵野、白静谊、颜博、李悦(组长)

1.3小组成员任务分配情况及每人所占工作比例

赵野负责:分析消息队列的控制sys_msgctl)以及与它相关的函数freeque,写出代码分析结果,并画出流程图来表示相关函数之间的相互调用关系。所占工作比例25%。

白静谊负责:分析消息的发送函数(real_msgsnd)以及与它相关的函数sys_msgsnd,写出代码分析结果,并画出流程图来表示相关函数之间的相互调用关系。所占工作比例25%。

颜博负责:分析消息的接收函数(real_msgrcv)以及与它相关的函数sys_msgrcv,写出代码分析结果,并画出流程图来表示相关函数之间的相互调用关系。所占工作比例25%。

李悦负责:分析消息队列的创建函数(sys_msgget)以及与它相关的函数newque、findkey、msg_init,写出代码分析结果,并画出流程图来表示相关函数之间的相互调用关系。明确组内成员的明细分工,总体把握组内成员的进度。后期组织组内成员成果汇总进行本组总体报告撰写。所占工作比例25%。

2 LINUX的消息函数主模块功能描述:

Linux采用消息队列的方式来实现消息传递。System V的消息队列(message queues)是进程之间互相发送消息的一种异步(asynchronously)方式,在这种情形之下,发送方不必等待接收方检查它的消息——即在发送完消息后,发送方就可以从事其它工作了——而接收方也不必一直等待消息。

新的消息总是放在队列的末尾,接收的时候并不总是从头来接收,可以从中间来接收。消息队列允许一个或多个进程写消息,一个或多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值