实验四进程间通信实验
(一)实验学时:4学时
(二)实验类型:验证
(三)实验目的:
了解Linux支持的消息通讯机制及信息量机制
(四)实验内容:
消息的创建,发送和接收。
①使用系统调用msgget ( ), msgsnd ( ), msgrev ( ), 及msgctl ( ) 编制一长度为1k的消息的发送和接收程序。
②观察分析程序,说明控制消息队列系统调用msgctl ( ) 在此起什么作用?
共享存储区的创建、附接和段接。
使用系统调用shmget( ),shmat( ),sgmdt( ),shmctl( ),编制一个与上述功能相同的程序。
#include<stdio.h>
#include<sys/type.h>
#include<sys/msg.h>
#include<sys/ipc.h>
#define MSGEKEY 75 /*定义关键词MSGEKEY */
struct msgform /*消息结构*/
{
long mtype;
Char mtex[100];/*文本长度*/
}msg;
int msgqid,i;
void CLIENT()
{
int i;
Msgqid=magget(MSGKEY,0777|IPC_CREAT);
for (i=10;i>=1;i--)
{
mag.mtype=i;
Printf((“client”)sent\n);
magsnd(magqid,&mag,1030,0);/*发送消息msg入msgid消息队列*/
}
exit(0);
}
void SERVER()
{
msgqid=magget(MSGKEY,0777|IPC_CRVEAT);/*有关键字获得消息队列*/
do
{msgrcv(msgqid,&msg,1030,0,0);
printf(“server)receive\n”);
}
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库操作系统进程通信管理在线全文阅读。
相关推荐: