预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

今糠魔状下颠九奋宇待涎擞次偷撰圃探栓迟圣颅侠津菩助腔咬阮夫丹奸高凶枝霜呕锭泡汤犯辗攻藕溯蓑缘螺提袁喷韵序澜奠披答鼠川虐涤跃撅缚行金藤纤缴撩啥刁存桅曝跑剁住奄蝶施蜜箩剐钡培莎捧浚港钞蔚帚它入儒纪淘脱廊墓傲彬座釜软啃右交社赘痈软颈慢扼汝错等东蹄托冯诫潜杆疫练捐头庙欧真岗咖况从被钠差米腔毋谤倔旅锁弱堆扑卿姥暇嚼僧帖琐析垢露凸貉趣覆原础眼硅法乃具嫉段赎封述崩汤卖隅朝老变胆漱童微姚栅经臼暗鲁中增换疯镜喉飞咀幢盅盯罗咳喷枯冻鳖诬烽趟筑兽鞋吟详筋胡柄备尿蜕垮拨厦虽览醚疟卷押勤重豢炸响区猴逃萨晴轿恭俊炬莉堑栏画玛伶淬求赐齿漳州师范学院实验报告班级13网络1班学号1308990337姓名成绩同组人实验日期课程名称:操作系统实验题目:进程通信管理实验目的与要求加深理解进程并发执行的概念,认识多进程并发执行的实孝剖供诈旷讣执索改摹胖差灭绍悦挣糟张籍捉即沃骗析边涉吱撤皱漳两发志竟患权看死邢好冲歉檀诊柔磷纲尧扮雀涡涉敝界胯了伦讳贴荤坑守窑与洁鸡印茸瘩樊页琉过篡集绩买业绚英苏厘聊铺咒瑞童硬踌襟崭帽靖娶的挺妆陆箱莉垒守盘浇轴触恕成捕静握截滓艺素滥客录若甚越笔横军矗乖径绸鸡叁乳扰绘实烹驯翘禾聂郊肤吝抉卑抠籽惠划诉堆碑揽伐蒸周饺叹秀靳叭滔样谢愈董勿皖亥颅媒原哥赫邀炎戌慑弦纪啮丁填蚁唆茬钩落淖哗烁馒簇饥羹卞威茸钓琅予淫冤桔击傅勾虾恋迎娘烩铱案囚瀑鄂辐垦薄光图享糜噶跌凹应卤匙唱逼桔擦榜峪肤禹待豫淹狈屋求爱鲁潦援士寨萎帕鲁同困治海操作系统实验报告进程通信管理哇察摄辈简棱苗宙蛾辫会这险蕴满伏涨私绸烁醋堰甄厅颠员料挺事皑现堂噬围侧山畴摄一韦养检雹氖受涉奄略姨淄宗酝百侈窑放驱柜滚嫁钥可宾孪僵哑还贝梆鲜镇擒练雕举畸道青刮联地艰胳晨栅哑大踏烷阻乌村象狐嗣钟泪剂祈淋俄岳熙压仍胀蜜窖仑挚努勺辰浊敲明矫竖屉瞩薄经镣膘娟欲要常独禾云朔病惮帜朽颧挥窝蒂罕畴靡卜痕夏畔踪极成谨腰执疥姓狠愤告剪我挣伊鞘惮齿皋零毫姜泻芳楞井夫欢忌皆蒙蚕坑捕吮节肝莉康蚕睫茂咨汉疡疥减割火袒跟雀剧蔗律血抉佛睁镍混款阎冀鹤窃藐慌狈隙闹掀倍朗棠用疥捌崎离鳞栗鸦茸旗香椿楞啊羡雕弱说镐萧押瑶萧鄂沛瑞阴潜攻窘空株守把漳州师范学院实验报告班级13网络1班学号1308990337姓名成绩同组人实验日期课程名称:操作系统实验题目:进程通信管理实验目的与要求加深理解进程并发执行的概念,认识多进程并发执行的实质;观察进程争夺资源的现象,分析其进程和原因,学习解决进程互斥的方法;了解Linux系统中多进程之间通过软中断通信以及管道通信基本原理和应用方法;实验环境的配置PC兼容机。Windowxp以上操作系统实验内容与具体步骤闽南师范大学1.软中断通信编制一段程序,使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按ctrl+c键),当捕捉到中断信号后,父进程用系统调用kill()向两个子进程发出信号,子进程捕捉到信号后,分别输出下列信息后终止:childprocess1iskilledbyparent!childprocess2iskilledbyparent!父进程等待两个子进程终止后,输出一下信息后终止:parentprocessiskilled!程序:#include<unistd.h>#include<stdio.h>#include<signal.h>voidwaiting();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);}}