操作系统惠普测试171+实验6-共享存储区通信实验(共10页)_第1页
操作系统惠普测试171+实验6-共享存储区通信实验(共10页)_第2页
操作系统惠普测试171+实验6-共享存储区通信实验(共10页)_第3页
操作系统惠普测试171+实验6-共享存储区通信实验(共10页)_第4页
操作系统惠普测试171+实验6-共享存储区通信实验(共10页)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、操作系统原理A实验报告学生姓名: 陶浩 学 号:1708090122 班级: 惠普测试171实验名称:实验6 进程共享存储区通信实验实验指导教师: 葛艳 6 进程的共享存储区通信实验一、实验目的 Ø 了解共享内存通信方式的特点。 Ø 掌握共享内存通信方式的使用方法。二、 实验内容 1. 按照P67页程序运行说明,编译运行两个程序shm-send.c和shm-receive.c,把运行结果截图,并分析两个程序怎样实现的对共享存储区的互斥和同步。 2. 把参考程序“shmchat.c”拆分成两个程序:chat-send.c和chat-receive.c,编译后分别在两个窗口运行

2、,把运行结果截图,分析两个程序怎样实现的对共享存储区的互斥和同步。 3.分析共享内存通信机制的优缺点。三、实验步骤及运行结果分析1. 按照P67页程序运行说明,编译运行两个程序shm-send.c和shm-receive.c,把运行结果截图,并分析两个程序怎样实现的对共享存储区的互斥和同步。 第一种方法:Ø 先让编译后的发送程序shm-send后台运行(./shm-send&),再运行接收程序shm-receive。第二种方法:让两个程序分别在两个终端运行分析:两个程序shm-send.c和shm-receive.c基于内存区发送和接收字符信息abcdxyz。shm-send

3、.c创建获取指定key值的共享内存,并且将内存附接到自己的虚拟空间,将消息(字符信息)写入共享内存。shm-receive.c创建获取指定key值的共享内存,将内存附接到自己的虚拟地址空间上,输出字符信息。2. 把参考程序“shmchat.c”拆分成两个程序:chat-send.c和chat-receive.c,编译后分别在两个窗口运行,把运行结果截图,分析两个程序怎样实现的对共享存储区的互斥和同步。测试运行1,不让程序接收“bye”测试运行2 让程序接收“bye”分析:(1)实现server和client的并发执行和相互通信。chat-send.c和chat-receive.c两个程序分别在

4、两个终端运行。(2)chat-send.c的server端建立一个key为75的共享内存区,并将共享内存区数据结构成员mtype置为-1,作为共享内存区数据空的标志,等待其他进程发来的信息。当消息受到完毕后,再次设置共享内存区数据空的标志。如果接受到“bye”则视为结束信号,断开与共享内存区的链接,删除共享内存区,退出。(3)chat-receive.c的client端建立一个key为75的共享区,当检测到共享内存区为空时,从键盘获取信息并写入共享内存区,等待共享内存区的再次空闲。如果接受到“bye”,则视为结束信号。断开与共享内存去的链接,删除共享内存区,退出。(4)父进程中调用system

5、(“ipcs-m”)显示共享内存区信息,等待server和client均退出后结束。(5)程序终止,撤销共享内存区,归还资源。3.分析共享内存通信机制的优缺点。优点:(1)为通信进程提供了直接通信的手段,使得通信进程可以直接访问彼此的某些虚拟空间。(2)减少了数据流动所带了的软硬件开销。(3)又使彼此的通信不仅仅局限于数据的发送与接收而且可以互相操作彼此的某些虚拟存储区。缺点:(1) 没有提供互斥同步的机制,需要使用额外的同步机制,往往要借助其他的手段比如信号量等来进行进程间的同步工作。(2) 由于多个CPU需要快速访问存储器,这样就需要对存储器进行缓存(Cache)。任何一个缓存的数据被更新

温馨提示

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

评论

0/150

提交评论