操作系统进程间基于消息队列的通信实验(共4页).doc
《操作系统进程间基于消息队列的通信实验(共4页).doc》由会员分享,可在线阅读,更多相关《操作系统进程间基于消息队列的通信实验(共4页).doc(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上操作系统课程实验报告 实习题目进程间基于消息队列的通信指导教师学生姓名学 号日 期实现工具C语言实现环境Linux系统实习内容(功能、目标)实验目的:系统了解linux系统的通信机构IPC ,掌握IPC中消息通信机制,理解消息通信的方法及特征。实验内容:编写一段程序,同时父进程创建两个子进程p1和p2;并使子进程p1与子进程p2通过消息队列相互发送消息(字节)。实验要求:()掌握系统调用msgget()、msgsnd()、msgrev()、msgctl()的使用方法及其功能,理解消息通信原理;()系统理解linux 的三种通信机制。实现的思想、方法和技术(含数据结构、
2、算法)一、 消息机制提供四个系统调用:1. msgget返回一个消息描述字msgqid,msgqid指定一个消息队列以便其他三个系统调用使用。2. msgsnd和msgrcv分别表示发送和接收一消息。Msgsnd(msgqid,msgp,msgsz,msgflg)中的msgqid是msgget返回消息队列描述符:msgp是用户缓冲区指针,msgsz是消息正文的长度,msgflg是同步标示,规定msgqid发送消息是发送完毕后返回还是不等发送完立即返回。3. 系统调用msgrev比msgsnd多一个参数msgtyp,它规定接收消息的类型。msgtyp=0时,表示接收与msgqid相关联的消息队列
3、上的第一个消息; msgtyp0时,表示接收msgqid相关联消息队列上第一个消息,而 msgtyp0时,则表示接收小于或等于msgtyp绝对值的最低类型的第一个消息。4. msgctl用来设置和返回与msgqid相关联的参数选择项,以及用来删除描述符的选择项。主要代码注释#include#include#include#include#include#includestring.h#define MSGKEY 75struct msgformlong mtype;char mtext512;int msgqid;struct msgform msg1,msg2;int p1,p2,pud1,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 进程 基于 消息 队列 通信 实验
限制150内