操作系统惠普测试171+实验6共享存储区通信实验Word格式.docx
- 文档编号:15077569
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:11
- 大小:1.01MB
操作系统惠普测试171+实验6共享存储区通信实验Word格式.docx
《操作系统惠普测试171+实验6共享存储区通信实验Word格式.docx》由会员分享,可在线阅读,更多相关《操作系统惠普测试171+实验6共享存储区通信实验Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
学生姓名:
陶浩学号:
22班级:
惠普测试171实验名称:
实验6进程共享存储区通信实验
实验指导教师:
葛艳
6进程的共享存储区通信实验
一、实验目的
了解共享内存通信方式的特点。
掌握共享内存通信方式的使用方法。
二、实验内容
1.按照P67页程序运行说明,编译运行两个程序和,把运行结果截图,并分析两个程序怎样实现的对共享存储区的互斥和同步。
2.把参考程序“”拆分成两个程序:
和,编译后分别在两个窗口运行,把运行结果截图,分析两个程序怎样实现的对共享存储区的互斥和同步。
3.分析共享内存通信机制的优缺点。
三、实验步骤及运行结果分析
1.按照P67页程序运行说明,编译运行两个程序和,把运行结果截图,并分析两个程序怎样实现的对共享存储区的互斥和同步。
第一种方法:
先让编译后的发送程序shm-send后台运行(./shm-send&
),再运行接收程序shm-receive。
第二种方法:
让两个程序分别在两个终端运行
分析:
两个程序和基于内存区发送和接收字符信息abcd…xyz。
创建获取指定key值的共享内存,并且将内存附接到自己的虚拟空间,将消息(字符信息)写入共享内存。
创建获取指定key值的共享内存,将内存附接到自己的虚拟地址空间上,输出字符信息。
测试运行1,不让程序接收“bye”
测试运行2让程序接收“bye”
(1)实现server和client的并发执行和相互通信。
和两个程序分别在两个终端运行。
(2)的server端建立一个key为75的共享内存区,并将共享内存区数据结构成员mtype置为-1,作为共享内存区数据空的标志,等待其他进程发来的信息。
当消息受到完毕后,再次设置共享内存区数据空的标志。
如果接受到“bye”则视为结束信号,断开与共享内存区的链接,删除共享内存区,退出。
(3)的client端建立一个key为75的共享区,当检测到共享内存区为空时,从键盘获取信息并写入共享内存区,等待共享内存区的再次空闲。
如果接受到“bye”,则视为结束信号。
断开与共享内存去的链接,删除共享内存区,退出。
(4)父进程中调用system(“ipcs-m”)显示共享内存区信息,等待server和client均退出后结束。
(5)程序终止,撤销共享内存区,归还资源。
3.分析共享内存通信机制的优缺点。
优点:
(1)为通信进程提供了直接通信的手段,使得通信进程可以直接访问彼此的某些虚拟空间。
(2)减少了数据流动所带了的软硬件开销。
(3)又使彼此的通信不仅仅局限于数据的发送与接收而且可以互相操作彼此的某些虚拟存储区。
缺点:
(1)没有提供互斥同步的机制,需要使用额外的同步机制,往往要借助其他的手段比如信号量等来进行进程间的同步工作。
(2)由于多个CPU需要快速访问存储器,这样就需要对存储器进行缓存(Cache)。
任何一个缓存的数据被更新后,由于其他处理器也可能需要存取,共享内存就需要立即更新,否则不同的处理器可能用到不同的数据。
(3)数据写入进程或数据读出进程中,需要附加的数据结构控制。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 惠普 测试 171 实验 共享 存储 通信