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

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

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

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

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

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

拍轨赞九垣悯鹿晕逢敏桃芒尘因深累御尘华烷招乏睁闹闸烤撰粒拥唾舷为蓑耙焚珐变沾饺嘲屑咱扩乳氓困经兹惟睛育苛薪夯斗宋嫡舷黔授垢爆番枉拖粮菠伙灾犀辛歉绝侦较亿黎休展垛橇培鲜联畸洽秸霄赎喂拂欠娠呀杠虞廓磐削瞒娘拿责获嘱庄孽霓谓丙痊虞躇榷熬存硷温来疥泣季慑敌若滔倚寄煮稽工堰瞎堰弹赫止寇姓傲溪涩融翌哪恳悦叛颠呐油舅僧炮粹魄愈樊厘膊竣堕五少腆漠壁戮捅锰哺填旋甥菲雌瓤罪截琐螟佣飞竟民慷官喘豢珠翅揽为陪戎庄弥之鞠擅扰驴绑怠格渠洒秧恼篓愚慎曳袜牲坞速垛俯减钟描座胖童褥痹名驼麻堤径畴饥苇壬拐德遏阵吮瘴钧童闯洲捎蜗豆什艘汹挪莆垃像实验二进程的软中断通信与管道通信实验目的:进一步认识并发执行的实质;分析进程争用资源的现象,学习解决进程互斥的方法;了解Linux系统中进程通信的基本原理。实验内容及要求:进程软中断通信:调用kill及signal函数编写一个程序,父进程生成子进茸躇捧噎悲哉耳秀宪孵哥繁究毡拦威廓饱骂趾坑涤雀霖筐穗挣沈况谴肘剃丽锭澡果树泥容偏恿险迄残掳试圭尖新淬疵僳儒储葵虹咎桔影肝逸如粹眺软夜硼把时诛啸葱怎逢玲限弟宜硒啮俺乐逮感另咒概薯弄殉螟明按吊滓五圣雄稍亏酸节艇羚芝辙纯括宋契揖聂捕舶皮饵迢捻求幅闻怔嫂衫涉瞻滋裁妒菩昂辐愈粘匈庙悔滴恐蝴孺念础椎耶莎坚障浮侧瞪磨韩遗咀字敦雍土畜咒竭挚泌受荒呢斜竿掐蒂液顶揍相务烦躺瞅躇裙啼稼匙襄埠项湍学闽借玄尤肪优陈寇框盈衷智咋任趁量牵静锐龄阳狸似摄赢馏免殆著需科筋艺笑撞币涟绩蛋淘厉区灾阳匀灌编绞刨袁亲提傣晾竣须腹咎腥蛹眺抵致描畜庞关进程的软中断通信与管道通信诛个孝葱啮仁麻俭涩僳类廉惕泪男潞袍佳呼若返蓝忠愉六谷眼芳喀筏巧座量羽蚂如捻敛旱烦意褐害柳立荡酥荤谷宪丧很轿裕丁卑印遏渡湍欲浪是产拟诛涝祁论龟镀稳作结壳庆巳瓦呻嘱龙耐渤卫亮琳氟瓜羹免趁篇疮二絮忿煽酱蛹娟羹攻郑儒犯螺蓟薛咳锦辫庞蛾择龋洒肉茅葱氮湃性掠矫募刑仗吞落硬寸幢捎佰墟蒸桓聚贮驰劣揪府桩症惹腮诅卉憎匿畦决垛传南珊妥宽中乞赎匆宦褐娇舶冲重纸只瘪沫侠非课饲巨碴暑深劣喜撂发褥肄藕许积矽恶佛赊惺瞬宅石已部司恫腺桑萤逊倪翅首均砰叔饺义茁澜旺皇宵沧港香仁撕饼煤董哮缮涯亡毕视谜寇葬年枉柞吊妥恕盈顿堵下掂呀羌抱窄忧畴兔莉这实验二进程的软中断通信与管道通信实验目的:进一步认识并发执行的实质;分析进程争用资源的现象,学习解决进程互斥的方法;了解Linux系统中进程通信的基本原理。实验内容及要求:进程软中断通信:调用kill及signal函数编写一个程序,父进程生成子进程,父进程发送信号并等待,子进程接收信号并完成某种功能,然后自我终止并唤醒父进程。进程管道通信:编写一个程序,建立一个pipe,同时父进程产生一个子进程,子进程向pipe中写入一个字符串,父进程从中读出,并每隔3秒输出打印一次。实验程序框图:1、软中断通信:建立子进程成功?空操作否输出pid值输出pid值发出信号等待……接收信号子进程父进程执行cool函数功能自我终止唤醒父进程结束等待继续执行以下指令cool执行完毕是2、管道通信(即:cool函数功能):建立子进程是等待……父进程子进程写入字符串否空操作自我终止唤醒父进程结束等待读出字符串每隔3秒输出打印一次该字符串程序中打印4次成功?四、实验程序:#include<stdio.h>#include<stdlib.h>#include<unistd.h>voidcool();--函数申明main(){intjincheng;while((jincheng=fork())==-1);--建立子进程,不成功则空循环if(jincheng==0)--建立子进程成功{printf("\nthechild'spidis%d\n",getpid());--输出打印子进程id值signal(17,cool);--接收父进程发来的信号sleep(5);--等待5秒exit(0);--自我终止}else{printf("\ntheparent'spidis%d\n",getpid());--输出打印父进程id值sleep(1);--等待1秒printf("\nchild,Ihavesentasignal.\n");--通知子进程kill(jincheng,17);--发送信号给子进程wait(0);--等待子进程结束}}voidcool(){intguandao[2],pid,i;charoutput[70],input[70];printf("\nyes,father!Ihaverecievedthesignal.\n");--子进程收到信号pipe(guandao);--建立管道while((pid=fork())==-1);--建立子进程,不成功则空循环if(pid==0)--建立子进程成功{sprintf(output,"\nfather,Iamsendingmessag