实验分析报告实验七.docx
- 文档编号:10444589
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:10
- 大小:155.94KB
实验分析报告实验七.docx
《实验分析报告实验七.docx》由会员分享,可在线阅读,更多相关《实验分析报告实验七.docx(10页珍藏版)》请在冰豆网上搜索。
实验分析报告实验七
实验报告_实验七
————————————————————————————————作者:
————————————————————————————————日期:
浙江大学城市学院实验报告
课程名称操作系统原理实验
实验项目名称实验七进程通信——消息队列
学生姓名潘唯帆专业班级计算1003学号31001172
实验成绩指导老师(签名)日期
注意:
●务请保存好各自的源代码,已备后用。
●请上传到BB平台。
一.实验目的和要求
1.了解Linux系统的进程间通信机构(IPC);
2.理解Linux关于消息队列的概念;
3.掌握Linux支持消息队列的系统调用;
4.巩固进程同步概念。
二、实验内容
实现并发进程间消息的发送与接收。
三、实验步骤
1、消息的发送与接收
1)编译运行给出的client.c和server.c,观察运行结果。
2)请给上述程序添加同步控制,实现同步运行。
#include
#include
#include
#defineMSGKEY75
structmsgform
{
longmtype;
charmtext[1000];
}msg;
intmsgqid;
voidserver()
{
/*创建75#消息队列*/
msgqid=msgget(MSGKEY,0777|IPC_CREAT);
do
{
/*接收消息*/
msgrcv(msgqid,&msg,1030,0,0);
printf("(server)received\n");
lockf(msg,0,0);
}while(msg.mtype!
=1);
/*删除消息队列,归还资源*/
msgctl(msgqid,IPC_RMID,0);
exit(0);
}
main()
{
server();
}
#include
#include
#include
#defineMSGKEY75
structmsgform
{
longmtype;
charmtext[1000];
}msg;
intmsgqid;
voidclient()
{
inti;
/*打开75#消息队列*/
msgqid=msgget(MSGKEY,0777);
for(i=10;i>=1;i--)
{
msg.mtype=i;
printf("(client)sent\n");
/*发送消息*/
msgsnd(msgqid,&msg,1024,0);
lockf(msg,1,0);
}
exit(0);
}
main()
{
client();
}
2、编写程序:
使用消息队列,实现具有下列功能两个程序(进程):
1)程序A负责接受用户来自键盘的输入;
2)程序B负责实时输出用户由程序A接收的字符。
程序A和程序B可分别在两个进程上同时运行。
#include
#include
#include
#defineMSGKEY75
structmsgform
{
longmtype;
charmtext[1000];
}msg;
intmsgqid;
voidclient()
{
inti;
/*打开75#消息队列*/
msgqid=msgget(MSGKEY,0777);
for(i=100;i>=1;i--)
{
msg.mtype=i;
scanf("%s",msg.mtext);
/*发送消息*/
msgsnd(msgqid,&msg,1024,0);
lockf(msg,1,0);
}
exit(0);
}
main()
{
client();
}
#include
#include
#include
#defineMSGKEY75
structmsgform
{
longmtype;
charmtext[1000];
}msg;
intmsgqid;
voidserver()
{
/*创建75#消息队列*/
msgqid=msgget(MSGKEY,0777|IPC_CREAT);
do
{
/*接收消息*/
msgrcv(msgqid,&msg,1030,0,0);
printf("(server)received:
%s\n",msg.mtext);
lockf(msg,0,0);
}while(msg.mtype!
=1);
/*删除消息队列,归还资源*/
msgctl(msgqid,IPC_RMID,0);
exit(0);
}
main()
{
server();
}
四、讨论、心得
记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 分析 报告