操作系统进程间通信试验报告

操作系统进程间通信试验报告

ID:20468383

大小:55.30 KB

页数:5页

时间:2018-10-12

操作系统进程间通信试验报告_第1页
操作系统进程间通信试验报告_第2页
操作系统进程间通信试验报告_第3页
操作系统进程间通信试验报告_第4页
操作系统进程间通信试验报告_第5页
资源描述:

《操作系统进程间通信试验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、《操作系统原理》实验报告专业班计科1304学号:201316010410姓名:实验三进程间通信实验时间:4.30【实验目的】Linux系统的进程通信机构(IPC)允许在任意进程间人批ft的交换数据。本实验的目的是了解和熟悉Linux支持的通信机制、共亨存储区机制及信号量机制。【实验环境】安装了Linux操作系统的PC机。【实验内容】1.消息的创建,发送和接收2.使用系统调用msgget(),msgsndO,msgrev()及msgctl()编制一长度为lk的消息发送和接收程序。〈程序设计〉(1)为了便

2、于操作和观察结果,用一个程序作为“引子”,先后fork()两个子进程,SERVER和CLTENT,进行通信。(2)SERVER端建立一个Key力75的消息队列,等待其他进程发来的消息。当遇到类型为1的消息,则作为结束信号,取消该队列,并退出SERVER。SERVER每接收到一个消息后显示一句“(server)received”。(3)CLIENT端使用Key为75的消息队列,先后发送类型从10到1的消息,然后退!li。最后一个消息,即是SERVER端需要的结束信号。CLIENT每发送一条信息后显示一句

3、“(client)sent”。(4)父进程在SERVER和CLIENT均退出后结束。【实验步骤】1,启动计算机并运行linux系统2,打开中断进行程序书写3,根据Linux系统的gcc自带编译器进行运行编译4,分析运行出现的问题5,观察运行结果,并思考6,退出中断并写出实验报告实验所需代码:#include//include#defineMSGKEY75structmsgform{longmtype;charmtext[1030];}msg;intmsgqi

4、dj;voidCLIENTO{inti;msgqid=msgget(MSGKEY,0777);for(i=10;i>=l;H{msg.mtype=i;printf("(client)sent");msgsnd(msgqid,&msg,1024,0);/*发送消息msg入msgid消息队列*/}exit(O);}voidSERVERf){msgqid=msgget(MSGKEY,07771IPC_CREAT);/*由关键字获得消息队列*/do{msgrcv(msgqid,&msg,1030,0z0)

5、;/*从msgid消息队列接收消息msg*/printf("(server)received");}while(msg.mtype!=l);msgctl(msgqid,IPC_RMID,O);exit⑼;}voidmain(){/*消息类型为1时,释放队列*/while((i=fork())==-l);if(!i)SERVER();while((i=fork())==-l);if(!i)CLIENT();wait(O);wait(O);【实验结果】x-fouder(0>a-37:-fouder@a

6、-37:-$gcc-o111tongxtn.ctongxln.c:在函数"CLIENT’中:tongxln.c:21:4:警告:隐式声明与内建函数'exit/不兼容[默认启用]tongxin.c:在函数'SERVER'中:tongxin.c:32:3:警告:隐式声明与内建函数‘exit’不兼容[默认启用]fouder@a-37:-$./111(client)sent(clxent)sent(cltent)sent(client)sent(cllent)sent(client)sent(client)s

7、ent(client)sent(client)sent(cllent)sent(server)received(server)received(server)received(server)received(server)received(server)recelved(server)received(server)receivedx-aPouder®>a-37:tongxln.c:在函数'SERVER’中:tongxin.c:32:3:餐告:隐式声明与内建函数'exit'不兼容[默认启用]foude

8、「@a-37:~$./111(cllent)sent(client)sent(cllent)sent(client)sent(client)sent(cltent)sent(client)sent(cltent)sent(client)sent(client)sent(server)received(server)received(server)recetved(server)recetved(server)received(server)recetve

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。