操作系统实验4-4实验报告.docx

操作系统实验4-4实验报告.docx

ID:53824752

大小:27.84 KB

页数:8页

时间:2020-04-07

操作系统实验4-4实验报告.docx_第1页
操作系统实验4-4实验报告.docx_第2页
操作系统实验4-4实验报告.docx_第3页
操作系统实验4-4实验报告.docx_第4页
操作系统实验4-4实验报告.docx_第5页
资源描述:

《操作系统实验4-4实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、操作系统实验报告实验4-4:Linux共享存储通信1.实验目的(1)掌握Linux提供的共享存储区通信方式的使用方法。(2)了解共享存储区通信方法的特点。(3)了解实现进程间通信的不同方法之间的区别、特点和适用情况。2.实验内容(1)编写发送信息程序shmsnd.c和接受信息程序shmrcv.c,其功能分别为://shmsnd.c//①创建一个共享存储区间;②将它附接到自己的地址空间;③循环写入若干信息,以“end”结束(提示:信息以追加方式存放到共享区中,可以用strcat()函数实现追加);④断开共享区;⑤结束。//shmrcv.c//①创建/获取同一个共享存储区;②将它附接到自己的

2、地址空间;③输入其中已经由发送地方输入的内容;④断开共享区①删除共享区②结束。采用先执行发送进程、后执行接受进程来实现同步。(2)父进程创建一个共享存储区,然后创建子进程;采用终端实现父进程发送信息和子进程接受信息的同步;信息以“end”作为结束标志。1.实验思考(1)共享存储区间通信有哪些优点?使用上有哪些限制?适用于哪种场合?答:优点:这种通讯方式允许多个进程共享同一块物理内存空间来实现进程之间的信息交换,取消了中间环节是同一个计算机系统中多个进程间实现通讯的最快捷的方法。限制:共享内存必须共处同一个计算机系统,有物理内存可以共享才行。适用:同一台电脑。(2)总结共享存储区通信与消息

3、缓冲通信、管理通信方式各有哪些特点?答:共享存储区通信:快捷、信息量大,但是不带同步工具,同步和互斥问题需要各进程利用其他同步工具解决,而且要求这些进程都在同一存储介质上运行,不方便网络通信。消息缓冲通信:可以在任意进程之间通信,并且自带同步工具,使用方便,但是信息复制消耗CPU的时间,不适宜信息量大或操作频繁的场合。管理通信:方便简单,但工作在单项通信方式,且只能在创建它的进程及其子孙进程之间共享。2.实验代码4-4-1:①#include#include#include#include#include

4、s/types.h>#include#includemain(){intshmid,running=1;char*viraddr;charbuffer[BUFSIZ];shmid=shmget(1234,BUFSIZ,0666

5、IPC_CREAT);viraddr=shmat(shmid,0,0);while(running){puts("Entersometext:");fgets(buffer,BUFSIZ,stdin);strcat(viraddr,buffer);if(strncmp(buffer,"end",3)==0)running

6、=0;}shmdt(viraddr);exit(0);}②#include#include#include#include#include#include#includemain(){intshmid;char*viraddr;shmid=shmget(1234,BUFSIZ,0666

7、IPC_CREAT);viraddr=shmat(shmid,0,0);printf("Yourmessageis:%s",viraddr);shmdt(

8、viraddr);shmctl(shmid,IPC_RMID,0);exit(0);}4-4-2:#include#include#include#include#include#include#include#includevoidint_func(intsig);intk;voidint_func(intsig)/*定义中断后要执行的函数*/{k=0;/*修改循环变量的值*/}main(){intchld,shmid,

9、running=1;char*viraddr1,*viraddr2;charbuffer[BUFSIZ];signal(SIGUSR1,int_func);/*预置信号对应的函数*/k=1;shmid=shmget(1234,BUFSIZ,0666

10、IPC_CREAT);/*创建共享存储区*/while((chld=fork())==-1);if(chld>0){viraddr1=shmat(shmid,0,0);/*将共享存储区附

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。