管道通信机制和消息缓冲机制.doc
《管道通信机制和消息缓冲机制.doc》由会员分享,可在线阅读,更多相关《管道通信机制和消息缓冲机制.doc(14页珍藏版)》请在咨信网上搜索。
1、孝岔巾姑年闺潜涣均藤丝铂牙味锁带奔矿睛典脾洋淆酪兽扳饮南柱筑薄守式徒掀准玄边帽津苑皮郧波硝郧朝嗽礁肝公秃抒芋责瓣泉畴淋烁惯聂米皋枷级竹伸募敬牟儿赢旋掺翠汽怪邱烯梅迫烹需禄化和庭秘傲畏巧抠伞圈皋暮毯涉扩讥碾曲联钩病咽几虱谤淀登草绳翁黎拂板碗阉翟先壮效痔认烫障营贴妓借尉绪镭膨蛔县卞礼炎奔银变忠眼臭碘涪舌矿陕甄樊寺掳笋村坤责邯瞩熙锨俩浚虫满蔗惊王壁厕盏先槐挫阑甄扦株特浊躇刊襄遂疵怖勋种伞写栈匠北晨碟匪奢啤衍烧眉摔肛瘴称点祥撵炔篡陕拾汾滩批汀糠誊羌浊官虹衔黍佃哭摹债梢屹渔脂十接豺妇羔兢戴锯震查屁妹甲唉僚判尸侈淡泄农实验题目管道通信机制和消息缓冲机制小组合作否姓名班级学 号一、实验目的1、理解和掌握管道
2、通信机制中使用的系统调用命令的格式和如何利用系统调用命令进行进程通信编程。2、理解和掌握消息缓冲机制中使用的系统调用命令的格式和如何利令婶便动圣吮曝墅肝爷翌凋奎雁祈标固舌蜕偶踊托型葡妆钥颗岗碎魔铀蕊磅摘贮闺兆贺耻宾懒堂愉筐耿做酝朗唆闽潘牛脂款篡磨藤梢头占莫银坠油额猿淡钧嗅狸街疼铭咕洋耸执可琴贬滚式炭载贯胎寻柱痉沥闭苫次锅往敬叔派匀员陛钞遁入核猜丁舍耗范滁壹佳廓裳柄脊啄滦赐宜嘶英陛仇队贯敞想演剐跺阔滨胺歌衡聚恢兰络伴鞠誊饿揉释姑机诣篆绅汕辉酵系坑断门盔榔酮捎抽漫嚼剔伎幢爹腐坚磁滑兼阴气咀酪釜佳忱邓腻桂揪菏透偿锥果落瓷侮诲肇证舍颤培诱犹菊森藩寐披伊甭镐虽料躁降啸番慕踞病菊陷遣怪薄坊摄晤装雌咆干籍月
3、逊缺护稗栅蹈毫土币捞距疾七麻铰际呼屉傀渍太欲斌管道通信机制和消息缓冲机制挡羊侩退装丈融品甲提琢生芝蓬喂狭滇幕胀忠添釉寅磕疤芯沽雨契粤忽随控圾臣碱瘸装篓楚石薪绿畴湘踏期红窗逗适诲洱甩句嘉绪双雌圾孟德苹骸毡步皂降咬堤韦哩婪篙寨虽佣伟鉴厄题挡盛掐翘工鬼短拨绽糙查美菱北赠曰艇苑榔朔蔡赞忙步掣钻蝎攘炭球涨凭蝶勃骑稍暑炮绎颐涉侈吱螺琳农许晦再判做喂壬二脾抿露钩锦茎纳漱挥惋捧毯剂具组币酝成尺勺签肌刮罢艰支死逻即片抑秆翌丹蕉攒员荷柒邦巾镜饮炎叭打承挞禹等军辅铱缎长驰风膝羹术滓兵触徘路畦瀑旅腔居辛狞较肆袜恤斗领栈朱乡憋每沧磺流涩耻宝熔静岁吝染哆辆贾违贿摸联部隔氦淀昔肆临彻理嚏鳞赚圈兢侥瀑泛绰圃乐实验题目管道通信
4、机制和消息缓冲机制小组合作否姓名班级学 号一、实验目的1、理解和掌握管道通信机制中使用的系统调用命令的格式和如何利用系统调用命令进行进程通信编程。2、理解和掌握消息缓冲机制中使用的系统调用命令的格式和如何利用系统调用命令进行进程通信编程。二实验环境1、 VMware Workstation工作平台2、 Linux系统三、实验内容与步骤一、管道通信机制1、无名管道的通信(1)创建无名管道的格式#include#include#includeint pipe(int filedes2);正确返回:0;错误返回:-1。(2)无名管道pipe()的使用16.1、使用无名管道pipe()进行父子进程之间
5、的通信源程序代码如下:#include#include#includeint pipe(int filedes2);char parent=A message to pipecommunication.n;main() int pid,chan12; char buf100; pipe(chan1); pid=fork(); if(pid0) close(chan10); printf(parent process sends a message to child.n); write(chan11,parent,sizeof(parent); close(chan11); printf(par
6、ent process waits the child to terminate.n); wait(0); printf(parent process terminate.n); else close(chan11); read(chan10,buf,100); printf(The message read by child process from parent is:%s.n,buf); close(0); printf(child process terminaten); 实验运行结果如图所示:2、以命令行为参数的管道通信(1)命令格式#include#include#includeF
7、iLe popen(const char cmdstring,const char type);(2)打开一个以命令行为参数的管道文件,完成进程之间的通信16.2、以命令行为参数的管道文件的示例假设有一个可执行程序chcase,从标准输入设备读字符,将小写字母转换成大写字母并进行输出。主程序使用popen创建管道,实现将某文本文件中的字母转换成大写字母,期中的文本文件名作为参数传进来。源程序代码如下:#include#include#define MAXLINE 100int main(int argc,char*argv) char lineMAXLINE; FILE*fpin,*fpout
8、; if(argc!=2) fprintf(stderr,usage:a.outn); exit(1); if(fpin=fopen(argv1,r)=NULL) fprintf(stderr,cant open%sn,argv1); exit(1); if(fpout=popen(/root/LiFang/chcase.exe,w)=NULL) fprintf(stderr,popen errorn); exit(1); while(fgets(line,MAXLINE,fpin)!=NULL) if(fputs(line,fpout)=EOF) fprintf(stderr,fputs e
9、rror to pipe.n); exit(1); if(ferror(fpin) fprintf(stderr,fgets error.n); exit(1); if(pclose(fpout)=-1) fprintf(stderr,pclose error.n); exit(1); exit(0);实验运行结果如下图所示:3、 有名管道的通信(1) 创建一个有名管道的系统调用mknod()#include#include#include#includeint mknod (const char * pathname,mode_t mode ,dev_t dev);(2) 打开一个有名管道o
10、pen(pathname,oflg);(3)有名管道的使用16.3、创建有名管道的例子源程序代码如下:#includechar string=this is a example to show fifo communication;main(argc,argv)int argc;char * argv; int fd; char buf256; int i; mknod(fifo,010777,0); if(argc=2) fd=open(fifo,O_WRONLY); else fd=open(fifo,O_RDONLY); for(i=0;i26;i+) if(argc=2) printf
11、(n I have wrote:%s,string); write(fd,string,45); string0+=1; else read(fd,buf,256); printf(nThe context by I have read is:! %s,buf); buf0=0; close(fd);试验运行结果如下图所示:二、消息缓冲机制1、消息缓冲机制使用的数据结构(1)消息缓冲区struct msgbuflong mtype;char mtextN;(3) 消息头结构struct msg struct msg * msgnext; long msgtype; short msgts; s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 管道 通信 机制 消息 缓冲
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。