好文档 - 专业文书写作范文服务资料分享网站

实验九 System V进程间通信

天下 分享 时间: 加入收藏 我要投稿 点赞

实验九 System V进程间通信

实验学时:4 实验类型:设计

一、目的与任务

目的:了解掌握操作系统消息队列、信号量的特点与功能,学会借助消息队列、信号量的功能函数进行编程。

任务:利用C语言指令编写程序调用消息队列、信号量函数,完成相应功能。 二、内容、要求与安排方式 1、实验内容与要求:

1)利用消息队列、信号量进行进程间的通信 //创建消息队列 #include #include #include #include #include #include #include #include\

int main(int argc,char * argv[]) { int rtn; int msqid;

key_t key; mymsg msginfo; key = ftok(\ if(key == -1){ perror(\ exit(1); }

msqid = msgget(key,IPC_CREAT | IPC_EXCL | 0644); if(msqid == -1){

perror(\ exit(2); } return 0; }

2)利用共享内存进行进程间的数据共享。 //创建共享内存,向共享内存中写入数据 #include #include #include #include #include #include #include

#define SHMSIZE 4096

int main(int argc,char * argv[]) {

int shmid; key_t key; void * shmptr; key = ftok(\ if(argc != 2){ }

if(key == -1){ }

shmid = shmget(key,SHMSIZE,IPC_CREAT | IPC_EXCL | 0600); if(shmid == -1){ }

printf(\

perror(\exit(1);

perror(\exit(1);

printf(\exit(1);

shmptr = shmat(shmid,0,0); if(shmptr == (void *) -1){ }

memcpy(shmptr,argv[1],strlen(argv[1]) + 1); if(shmdt(shmptr) == -1){ } return 0; }

perror(\exit(1);

perror(\exit(1);

1xky27gqoy6o2vt5lzj67d82u9zjlx00ij1
领取福利

微信扫码领取福利

微信扫码分享