操作系统实验四带截图.doc_第1页
操作系统实验四带截图.doc_第2页
操作系统实验四带截图.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include #include #include #include define MSGKEY 75struct msgform/*消息结构*/long mtype;char mtrex1030;/*文本长度*/msg;int msgqid, i;void CLIENT( )int i;msgqid=msgget(MSGKEY, 0777); /*获得消息队列*/for(i=10;i=1;i-)msg.mtype=i;printf(“client sentn”);msgsnd(msgqid,&msg,1024,0); /*发送消息msg入msgqid消息队列*/exit(0);void SERVER( )msgqid=msgget(MSGKEY, 0777|IPC_CREAT); /*建立消息队列*/domsgrcv(msgqid,&msg,1030,0,0); /*接收消息*/printf(“server receivedn”);while(msg.mytype!=1); /*消息类型为1时*/msgctl(msgqid,IPC_RMID,0); /*释放(删除)消息队列*/exit(0);main()while(i=fork()= =-1);if(!i) SERVER();/*子进程1执行*/while(i=fork()= =-1);if(!i) CLIENT();/*子进程2执行*/wait(0);wait(0);(对程序1做修改)#include #include #include define SHMKEY 75int shmid, i;int *addr;void CLIENT( )int i;shmid=shmget(SHMKEY,1024, 0777);/*获取共享区,长度1k*/addr=shmat(shmid,0,0);/*共享区起始地址为addr*/for(i=9;i=0;i-)while(*addr!=-1);printf(“client sentn”);*addr=i; /*把i赋给addr*/exit(0);void SERVER( )shmid=shmget(SHMKEY, 1024,0777|IPC_CREAT);/*创建共享区*/addr=shmat(shmid,0,0); /*共享区起始地址为addr*/do*addr=-1;while(*addr= =-1);printf(“server receivedn”);while(*addr);shmctl(shmid,IPC_RMID,0);/*删除共享区*/exit(0);main()while(i=fork()= =-1);if(!i) SERVER();/*子进程1执行*/while(i=fork()= =-1);if(!i) CLIENT();/*子进程2执行*/wait(0);wait(0);3、比较两种通信机制的数据传输的时间由于2种机制实现的机理和用处不同,难以直接进行时间上的比较。如果比较其性能,应更加全面地分析。(1)消息队列的建立比共享区的设立消耗的资源少。前者只是一个软件设定的问题,后者需要对硬件操作,实现内存的映像,控制更复杂。如果每次都重新进行消息队列或共享区的建立,共享区通信没有优势。(2)当消息队列和共享区建立好后,共享区的数据传输受到硬件支持,不耗费多余资源;而消息传递,由软件进行控制和实现,需要消耗一定的CPU时间。故,共享区更适合频繁和大量的数据传输。(3)消息的传递,自身就带有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论