首页 操作系统实验报告进程通信管理课案

操作系统实验报告进程通信管理课案

举报
开通vip

操作系统实验报告进程通信管理课案漳州师范学院实验报告班级同组人13网络1班学号1308990337姓名成绩实验日期课程名称:操作系统实验题目:进程通信管理1.加深理解进程并发执行的概念,认识多进程并发执行的实质;2.观察进程争夺资源的现象,分析其进程和原因,学习解决进程互斥实验的方法;目的与3.了解Linux系统中多进程之间通过软中断通信以及管道通信基本原要理和应用方法;求PC兼容机。Windowxp以上操作系统实验环境的配置第1页闽南师范大学1.软中断通信编制一段程序,使用系统调用...

操作系统实验报告进程通信管理课案
漳州师范学院实验 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 班级同组人13网络1班学号1308990337姓名成绩实验日期课程名称:操作系统实验 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 目:进程通信管理1.加深理解进程并发执行的概念,认识多进程并发执行的实质;2.观察进程争夺资源的现象, 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 其进程和原因,学习解决进程互斥实验的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ;目的与3.了解Linux系统中多进程之间通过软中断通信以及管道通信基本原要理和应用方法;求PC兼容机。Windowxp以上操作系统实验环境的配置第1页闽南师范大学1.软中断通信编制一段程序,使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按ctrl+c键),当捕捉到中断信号后,父进程用系统调用kill()向两个子进程发出信号,子进程捕捉到信号后,分别输出下列信息后终止:childprocess1iskilledbyparent!childprocess2iskilledbyparent!父进程等待两个子进程终止后,输出一下信息后终止:parentprocessiskilled!程序:#include#include#includevoidwaiting();voidstop();intwait_mark;intmain()实{验intp1,p2;内while((p1=fork())==-1);容与具体步骤if(p1>0)//父进程产生子进程1{while((p2=fork())==-1);if(p2>0)//父进程产生了一个子进程2{//父进程printf("parent\n");wait_mark=1;//将等待标志设置为1signal(SIGINT,stop);waiting();kill(p1,16);//kill(p2,17);wait(0);wait(0);printf("parentprocessiskilled!\n");//父进程等待两个子进程终止后,输出一下信息后终止exit(0);}else{//子进程2printf("p2\n");wait_mark=1;signal(17,stop);waiting();lockf(1,1,0);printf("childprocess2iskilledbyparent!\n");lockf(1,0,0);exit(0);}}else{//子进程1printf("p1\n");wait_mark=1;signal(16,stop);waiting();lockf(1,1,0);printf("childprocess1iskilledbyparent!\n");lockf(1,0,0);exit(0);}}voidwaiting(){while(wait_mark!=0);}voidstop(){wait_mark=0;}1.分析结果并理解以上程序。理解分析:1.先创建父进程,由父进程分别产生子进程1和子进程2,依次输出p1,p2,parent。2.给父进程中断信号,父进程终止子进程,运行stop函数wait_mark=0;跳出waiting函数,输出parentprocessiskilled!2.修改程序,查看修改前结果跟修改后结果的区别,分析原因。......else{signal(SIGINT,SIG_IGN);/*addthisline*/signal(17,stop);............}}else{signal(SIGINT,SIG_IGN);/*addthisline*/signal(16,stop);............理解分析:1.先创建父进程,由父进程分别产生子进程1和子进程2,依次输出p1,p2,parent。2.给父进程中断信号,父进程开始终止子进程,但是由于添加了signal(SIGINT,SIG_IGN);语句,相当于使子进程忽略键入信号,此时按ctrl+c不会将子进程终止,程序可以正常运行。于是输出childprocess1iskilledbyparent!和childprocess2iskilledbyparent!2.进程的管道通信编制一段程序,实现进程的管道通信。使用系统调用pipe()建立一条管道线。两个子进程p1和p2分别向管道各写一句话:Child1issendingamessage!Child2issendingamessage!而父进程则从管道中读出来自两个子进程的信息,显示在屏幕上。程序:#include#include#includeintpid1,pid2;main(){intfd[3];charOutPipe[100],InPipe[100];pipe(fd);//fd[0]存管道的读入端,fd[1]是管道的写入端while((pid1=fork())==-1);if(pid1==0)//对子进程1的操作实验内容与具体步骤{printf("p1\n");lockf(fd[1],1,0);//对管道写入端进行软锁sprintf(OutPipe,"Child1issendingamessage!");//Outipe数组存放"Child.."write(fd[1],OutPipe,50);//把OutPipe的内容写入管道sleep(1);lockf(fd[1],0,0);//释放对管道写入端的锁定exit(0);}else//父进程产生的了子进程p1{while((pid2=fork())==-1);if(pid2==0)//由p1产生子进程p2{printf("p2\n");lockf(fd[1],1,0);//对管道写入端进行软锁sprintf(OutPipe,"Child2issendingamessage!");//Outipe数组存放"Child.."write(fd[1],OutPipe,50);//把OutPipe的内容写入管道sleep(1);lockf(fd[1],0,0);//释放对管道写入端的锁定exit(0);}else{printf("parent\n");wait(0);//暂停当前进程的执行read(fd[0],InPipe,50);//从管道读取端读取数据存入InPipeprintf("%s\n",InPipe);//输出InPipe的内容wait(0);//暂停当前进程的执行read(fd[0],InPipe,50);//从上一次读取位置继续读取数据存入InPipeprintf("%s\n",InPipe);//输出InPipe的内容exit(0);}}}请理解以上程序,多次运行并分析结果,并回答以下问题。理解分析:在该管道通信中,有时是子进程p1,p2往管道中传送数据完后父进程再从管道中读取数据,有时是子进程p1往管道中传送数据后父进程从管道中读取数据,然后子进程p2再往管道中传送数据,父进程再从管道中读取数据。管道通信的概念是什么管道通信即发送进程以字符流形式将大量数据送入管道,接收进程可从管道接收数据,二者利用管道进行通信。同步和互斥的概念是什么,在程序中如何实现的同步:是指散步在不同进程之间的若干程序片断,它们的运行必须严格按照规定的依赖于要完成的特定的任务。某种先后次序来运行,这种先后次序互斥:是指散步在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。们之中程序中实现:1.(子进程和父进程).父进程读出之前确定管道中有数据,否则阻塞自己,这一点通过系统调用wait()函数既可以实现,当子进程结束时父进程才执行,那么此时管道中肯定有子进程写入的数据了(这可以通过进程见的同步来办到)2.(子进程之间)子进程在写入之前要确定管道中的数据已被父进程读出,否则不能写入或者阻塞自己。(这可以通过进程见的互斥来间接办到,因为子进程间的互斥,所以每个子进程在执行开始都对管道pipe加锁,并且子进程在向管道中写入数据后还有调用sleep()系统用调用睡眠若干时间,那么就可保证父进程能够从管道中读出数据,然后下一子进程才能写入)为什么要用两个wait(0)刚开始等待信号的到来,然后从管道中读出p1写进去的数据(第一个wait(0)),然后在等待信号的到来,从管道中读出p2写进去的数据(第二个wait(0))。Sleep(1)的作用每把OutPipe的内容写入管道就休眠1秒,保证父进程能从管道中读出数据。漳州师院实验报告1.本次实验对于进程管理有了更进一步的了解,但是对于一些函数应用还是不够熟悉本次第2个实验管道通信可能会遇到运行了很多次结果都一样的情况,应该耐心多试几次,保证实验的准确性和科学性实验心得注:如果填写内容超出 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 格,自行添加附页。
本文档为【操作系统实验报告进程通信管理课案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_769254
暂无简介~
格式:doc
大小:101KB
软件:Word
页数:0
分类:
上传时间:2018-09-18
浏览量:5