操作系统实验4-4实验报告(共8页).docx
《操作系统实验4-4实验报告(共8页).docx》由会员分享,可在线阅读,更多相关《操作系统实验4-4实验报告(共8页).docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上操作系统实验报告实验4-4: Linux共享存储通信1. 实验目的(1) 掌握Linux提供的共享存储区通信方式的使用方法。(2) 了解共享存储区通信方法的特点。(3) 了解实现进程间通信的不同方法之间的区别、特点和适用情况。2. 实验内容(1)编写发送信息程序shmsnd.c和接受信息程序shmrcv.c,其功能分别为: /shmsnd.c/ 创建一个共享存储区间; 将它附接到自己的地址空间; 循环写入若干信息,以“end”结束(提示:信息以追加方式存放到共享区中,可以用strcat()函数实现追加); 断开共享区; 结束。 /shmrcv.c/ 创建/获取同一个共
2、享存储区; 将它附接到自己的地址空间; 输入其中已经由发送地方输入的内容; 断开共享区 删除共享区 结束。 采用先执行发送进程、后执行接受进程来实现同步。 (2) 父进程创建一个共享存储区,然后创建子进程;采用终端实现父进程发送信息和子进程接受信息的同步;信息以“end”作为结束标志。3. 实验思考(1) 共享存储区间通信有哪些优点?使用上有哪些限制?适用于哪种场合?答:优点:这种通讯方式允许多个进程共享同一块物理内存空间来实现进程之间的信息交换,取消了中间环节是同一个计算机系统中多个进程间实现通讯的最快捷的方法。限制:共享内存必须共处同一个计算机系统,有物理内存可以共享才行。适用:同一台电脑
3、。(2) 总结共享存储区通信与消息缓冲通信、管理通信方式各有哪些特点?答:共享存储区通信:快捷、信息量大,但是不带同步工具,同步和互斥问题需要各进程利用其他同步工具解决,而且要求这些进程都在同一存储介质上运行,不方便网络通信。消息缓冲通信:可以在任意进程之间通信,并且自带同步工具,使用方便,但是信息复制消耗CPU的时间,不适宜信息量大或操作频繁的场合。管理通信:方便简单,但工作在单项通信方式,且只能在创建它的进程及其子孙进程之间共享。4. 实验代码4-4-1:#include#include#include#include#include#include#includemain()int sh
4、mid,running=1;char *viraddr;char bufferBUFSIZ;shmid=shmget(1234,BUFSIZ,0666|IPC_CREAT);viraddr=shmat(shmid,0,0);while(running)puts(Enter some text:);fgets(buffer,BUFSIZ,stdin);strcat(viraddr,buffer);if(strncmp(buffer,end,3)=0)running=0;shmdt(viraddr);exit(0);#include#include#include#include#include#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 实验 报告
限制150内