第一范文网 - 专业文章范例文档资料分享平台

实验九 System V进程间通信

来源:用户分享 时间:2025/7/27 21:57:07 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

实验九 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);

搜索更多关于: 实验九 System V进程间通信 的文档
实验九 System V进程间通信.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1xky27gqoy6o2vt5lzj67d82u9zjlx00ij1_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top