操作系统进程间通信实验报告_第1页
操作系统进程间通信实验报告_第2页
操作系统进程间通信实验报告_第3页
操作系统进程间通信实验报告_第4页
操作系统进程间通信实验报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、实验三操作系统进程间通信实验三 进程间通信班级 : 计科 f1406 姓名 : 王家平 学号 :201416010619一、实验目的 :Linux 系统的进程通信机构 (IPC) 允许在任意进程间大批量的交换数据。本实验的目的是了解和熟悉Linux 支持的通信机制、共享存储区机制及信号量机制。二、实验预备内容:阅读 Linux 系统的 msg.c sem.c shm.c 等源码文件,熟悉 Linux 的三种通信机制。三、实验内容:消息的创建,发送和接收使用系统调用 msgget() , msgsnd() , msgrev() 及 msgctl() 编制一长度为1k 的消息发送和接收程序。) 为

2、了便于操作和观察结果,用一个程序作为“引子”,先后 fork() 两个子进程,SERVE和CLIENT进行通信。SERVE硼建立一个Key为75的消息队列,等待其他进程发来的消息。当遇(到类型为1的消息,则作为结束信号,取消该队列,并退出SERVERSERVER每接收到一个消息后显示一句“ (server)received ”。CLIENT端使用Key为75的消息队列,先后发送类型从10到1的消息,然退出。最后一个消息,即是 SERVE踹需要的结束信号。CLIENT每发送一条信息后显示一句“ (client)sent ”。(4)父进程在SERVE CLIENT均退出后结束。(5)四 ( 实验代

3、码#include #include #include #include #define MSGKEY 75struct msgformlong mtype;char mtext1030;msg;int msgqid,i;void CLIENT() int i;msgqid=msgget(MSGKEY,0777);for (i=10;i=1;i-)msg.mtype=i;printf(client)sent n);msgsnd(msgqid,&msg,1024,0); /* 发送消息 msg入 msgid 消息队列*/exit(0);void SERVER()msgqid=msgget(MSG

4、KEY,0777|IPC_CREAT); /*由关键字获得消息队列*/do msgrcv(msgqid,&msg,1030,0,0); /* 从 msgid 消息队列接收消息 msg*/printf(server)received n);while(msg.mtype!=1); /* 消息类型为 1 时,释放队列 */msgctl(msgqid,IPC_RMID,0);exit(0);void main()while(i=fork()=-1);if(!i) SERVER();while(i=fork()=-1);if(!i) CLIENT();wait(0);wait(0);#include #include #include #include #define MSGKEY 75struct msgformlong mtype;char mtext1030;msg;int msgqid,i;CLIENT() int i;msgqid=msgget(MSGKEY,0777);for (i=10;i=1;i-)msg.mtype=i;printf(client)sent n);msgsnd(msgqid,&msg,1024,0);

温馨提示

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

最新文档

评论

0/150

提交评论