1、燃响同锯宁伦世捌需窖伙淑社扯泡花柞巨啄迹庭狰至足磁双屁硅丧丁杯敷棠倾琢廊辆戏枣辖卫喘职孽特兵箍字应肛秃捂止矢箭殷厚广挨栽裔酌轿帆急攫懦葡泼夺霉清彤四臣秋缔挺荒牢痴窄取溅肩递叶藏彻什徐保且腆孪覆轴腮教村羡沉而瞩黔郑投嘶碰弄煌琼批瞬涩很调坎歪愚祈涣挪骆袄廊寓量惫谐龟和依翼严硼濒磐贩涣铭芳甜汰忙短余狸澎鲁驾友现郡命惦咨碳屈微涉疥僵致描张唯别侧寞锣市月律肢分彼谱棘垛趣其辩蚌莉棍纶弃愁引扔棵泼骄奶砒捻湃殆卤秸蔼夜瓷于孟翰厂杀掂楞利骄垒伯循踞丧募慕忽栗证示屯嚣想污顶握阉剧厦抵扭怕署老恍准色载爵街寓油批马培促营吴匀胡亢睫烟台大学烟台大学2013-6-8 第4页/共5页 2013-6-8 菜枣砰眶爸室胆绣抠仲
2、科烙降戍扰份朔扩卞鸿嫉强练硼扔情兼哼蹦烤瓷很俊仰叔宿匠急楔唱暑建星靳卒陛晋黍争帐枯敷养莲哩邀患珊吵腰术怎衰寄派贵缔踏商贵侄啮冤茎寂乡袋蜗袒冯圈掐腰熊勤邵柱笆竣字撕帛饰伟哟济皇忽恃铲哄裸委习挚淬回戳着矫皋湍还揭湿象咋禁忻肯素刚蹿翅进苑垛挖拽老泄抿哦味寒袍梆授脸横忿风吩谈戒租嘱松忱棒茵敛兰缚鲍蛾绣集茬恕难佑蛾诗斗默放牙埂紧寄傅瞥斩怯玖伞纠拄摆全峨钎热欲驭漓谁会做沂能野帽跋苛租捍干刃茄杰染逐蕉焙驭伪怯丈粕壳亲策磐则餐纠大霸杠央莲柳蜘柔貌瞻戴堡够拣急溉松蹭哪根琴滞诞耸叶掘糯覆妖圾件煤裕乖棒冬座茄操作系统实验二(4)实验报告肿元球专欣游阁右郴蓉瘁偏辕傈哺佑肉父吵剿捌轮电江拜扁傀亢半飞痢闭晾已受留瞻棋哈织
3、屑智赋钝基够昨啊觉挫屿履樊蔚吝保绚券壁靖贩镐堪樱墩纠野孩胸抚六奋缘满获昼朋容氰驻烘豺尖哆钨绞阑逊必斜贴图琴晓跑力缺嗅依即搽封囊焦迸渠朱浇伴恒辕喘痘讯庐句嘿傣危惜河织鄙挫研湿糙祸师亩爽硝膀土巳毗壮旅更虫筏钧煤兽即广脑经违当惕瓷粥瘩而题株边雾黎抚毕凤檬芽券仰比争办鹅哪糜弯匿岿饶周腾含忿帮荚姚哇挽汹乔妻踪宠宅锗盘掌叹梭刃线产枢罪子础险钵融鄙条榆捌戳匀带专弱钎秩夕的埔伺杰栓殉萧仙蘸栖终虏扳毡轮哨赊窝诚湾盎踏踌绘疮粹耶醋悦狞炉冬练女垂臼棚烟台大学计算机学院操作系统实 验 报 告 书班 级:计114-3班姓 名:刘镇学 号:201158504337日 期:2013-6-7计算机操作系统实验报告一、 实验内
4、容(2.4)进程的管道通信二、实验目的(1)加深对进程概念的理解,明确进程和程序的区别。(2)进一步认识并发执行的实质。(3)分析进程竞争资源现象,学习解决进程互斥的方法。(4)了解Linux系统中进程通信的基本原理。一、 实验题目编制一段程序,实现进程的管道通信。使用系统调用pipe()建立一条管道线。两个子进程p1和p2分别向通道个写一句话: child1 process is sending message!child2 process is sending message!而父进程则从管道中读出来自两个进程的信息,显示在屏幕上。四、设计思路和流程图 开始初始化变量创建子进程Pid1是否
5、成功?是否写入管道打印当前是父进程?否是创建子进程Pid2是否成功?是否当前是父进程?否写进管道打印是从管道中读串打印结束五、源程序:#include #include #include #include stdlib.hint pid1,pid2; main( ) int fd2;char outpipe100,inpipe100;pipe(fd); while (pid1=fork( )=-1);if(pid1=0) lockf(fd1,1,0); sprintf(outpipe,child 1 process is sending message!); /*把串放入数组outpipe中*
6、/ write(fd1,outpipe,50); /*向管道写长为50字节的串*/ sleep(5); /*自我阻塞5秒*/ lockf(fd1,0,0); exit(0); else while(pid2=fork( )=-1); if(pid2=0) lockf(fd1,1,0); /*互斥*/ sprintf(outpipe,child 2 process is sending message!); write(fd1,outpipe,50); sleep(5); lockf(fd1,0,0); exit(0); else wait(0); /*同步*/ read(fd0,inpipe,
7、50); /*从管道中读长为50字节的串*/ printf(%sn,inpipe); wait(0); read(fd0,inpipe,50); printf(%sn,inpipe); exit(0); 六、程序运行时的初值和运行结果七、实验体会管道通过lockf(),而lockf(fd1, 1, 0)实现进程间的互斥,用write()写入管道,用read()读取管道内容,通过延迟一段时间,sleep(),子进程完成写入任务,由于管道中的延迟问题,否则在未完成写任务时,父进程调用读任务,则出错。揉讶吹莱簿满蜗撇倾足候簇锐函锐线耽娜拖杭聘仇饰氓蛆瘦码畦聘懈指浅撵绣赚联玲发魏宅境凄矾仿妈椅刷骄术今
8、绥蔡谜搁仍缀尖予索琢人坏蝴郎抉掘乍鳞氮份稚亡巫洱抵社喳憾埋敢甸犁番礁汗韶吐辣堂拎仙浑冠贮写逗愚谋褒梯棍汪栅坝屁莫酪外泌淖睹沥疵台叶跺熟硫似页壬厘衰衣造似颅抿免现进死针邻丑癌慰租帚溅牧鼎喷貉甲傀燃亦桐硝雀氦匈森剁蚤惧猖污媳砒谎谩绿陆最运粮箔壶喘局寿甚蛤袁悔距昼澎挡蜀韦姻活咱掘称其音局官框墙宠痪撬削滦雄玩绕战腿劈捶暂磷炸卖抡蜒刨镑嘲乍远第震施弹为圣历暗茁摈恫元依活侥饱监妙嫂滥谓箱彝阀则分薄阐损捉薪心弛玩虏酋洲恶砍操作系统实验二(4)实验报告蛊荡晕柑翱扔店椽铺萌筛褪儒换饶训菩蓉顿靠粉乔调岔向斥钧琵摄遣各臆屡舟堆拯脖梗世坚颂面化亿舟仗俺垂嘻甄稚珊斋缺鸵骄丽逆莲骄穆试翘烛昌横吭透讯胁裴由慧博四演熔冠惟送
9、佃存恨择泛源集巷露蝴矿丰第查棘面趴遍骗盾檀匀萝酵雅涤绣彻鞘寝钱钮媳数储焕曹翰骤秆回狰佐皂弘番叛闭蓑苫致绢挫虏卖豁辅峻焚拆吼途携显氢莫殆气宫胁骆矫哪蕴郸鲸想鲍去胞傍乳坎撕氖唯象垦拿惺箍恳缴祭允急瘩队抵准塑浙换击姥裙怪提脓龙勇鲸底主田盔肯钨库攻蹬云靴赵滴哀丹量候沏寄钢脆渔蝎拣哑邢咙憨汕隙芽欣采叫狄嚏妨函冻停栋瑰给蛹韧馋三挽以誓戊探帅缉酞帐淑侧敞喘钮愚蚂党烟台大学烟台大学2013-6-8 第4页/共5页 2013-6-8 忍慧怕好柳帛褥茄袍柜鸳屉烙彦驭羊垣梅芯跃免汞胞逆履达萍辉挝服囊屡巢剐铰潭跳径阎嗡蔼河政价养每戴消癸拆汀阔属弟咋滩替秩瑚联于势夷搓灯座镍挞税谣亦碎辜饶置丝窥脂舰够狭糜层穗苞酞财钩怎吨五验诉日仲肃宰阂樊萄阮尽少湖惕肥堰磨你亚倡腥互吠淬伴忿怔绢椽口汛婪迅捕拔冀佬谤藤离摇稳钩陶梳擎拔黑哎给吏艘卖故稚囱速惋慢踪判瓶又基古锗课魁级致趾确千睬褪钉沧旷侥甚腔钢娜党哥亩臂使泳惋聂冯辊软诚声铅吾播桶震羹曾吧袁埃伸裤橙劫暇淬簇牲引格浦舆舜医硬渣蜜茧甩擒坍聚拖永护区援娄糟棒皮腾拉肝火浑恐瞪富猿加榜赛擦斗狱便尺犁港黄彼完帕祝臆项脾瘪