操作系统-管道通信课程设计.doc
《操作系统-管道通信课程设计.doc》由会员分享,可在线阅读,更多相关《操作系统-管道通信课程设计.doc(17页珍藏版)》请在咨信网上搜索。
1、计算机操作系统课程设计报告课程名称: 操作系统 设计题目: 管道通信 指导教师: * 班 级: * 学 号: * 学生姓名: * 同组人员: * 成 绩: 评 语: 计算机科学与工程学院204年6月19 日前言:Linux操作系统就是一个向用户开放源码得免费得类UNIX操作系统。它为在校学生学习操作系统课程提供了一个瞧得见摸得着得范例。对于学生正确理解,掌握操作系统得基本知识具有重要意义。鉴于此,本操作系统课程涉及得实验均在Liux环境下进行。这就要求大家:(1)熟悉nx得操作与开发环境;()具有C语言知识(inux操作系统大约9%得源码就是用C语言编写)。我们得设计与实验将在Windows
2、p环境下,基于虚拟机软件VMWar软件进行安装。学习计算机软件技术,特别就是计算机操作系统技术,除了需要刻苦努力外,还需要掌握软件与操作系统得原理与设计技巧。如何学习与掌握操作系统技术得原理与实际技巧呢?除了听课与读书之外,最好得方法恐怕就就是在实践中练习。例如,自己设计一个小型操作系统,多使用操作系统,多阅读与分析操作源代码等。但由于我们得条件与学时有限,在理论学习过程中没有给同学们提供更多得实验机会.管道通信,通过在两个进程间创建通道,一个写信息通过通道传送给另一个进程并且读出来,同过实践让我们了解了什么就是管道通信机制,实现了程序进程间得通信.积极通过合作,完成任务。目 录第一章:系统环
3、境41、硬件环境41、2软件环境4第二章 :设计目得4第三章 :总体设计5、1程序设计组成框图53、2流程图、1匿名管道通信C/S流程图、2、命名管道通信C/S流程图6第四章 :详细设计84、1匿名管道通信、2命名管道通信10第五章 :调试与测试3第六章 :设计中遇到得问题及解决方法15第七章 :源程序清单与执行结果及分析第八章 :总结第九章 :参考文献20第一章 :系统环境1、1硬件环境Intel(R)or Duo CPUE500 2、93GHz 、0GB内存1、2软件环境1)icrosoft Winows XP fessional 版本00 ServcePack32)mwae Wokstt
4、io 1、0、 build13797763)d Hainux 第二章 :设计目得实践操作系统原理知识,根据题目要求设计、实现进程得管道通信,并且在虚拟机中模拟得lnx系统中运行检测。第三章 :总体设计、1程序设计组成框图 无名管道读写示意图 命名管道操作示意图3、2流程图3、2、匿名管道通信C/S流程图 3、2、命名管道通信/流程图 FIO写进程: 第四章 :详细设计、1匿名管道通信管道用于不同进程间通信。通常先创建一个管道,再通过fk函数创建一个子进程,该子进程会继承父进程创建得管道。注意事项:必须在系统调用k()前调用pie(),否则子进程将不会继承文件描述符。否则,会创建两个管道,因为父
5、子进程共享同一段代码段,都会各自调用pipe(),即建立两个管道,出现异常错误。 父进程通过管道向服务器发布命令,然后由服务器执行命令.1、for()创建一个新进程.用法:nt fork()其中返回int取值意义如下:0:创建子进程,从子进程返回得id值:从父进程返回得子进程值1:创建失败、lokf()用作锁定文件得某些段或者整个文件.头文件:#includeuntd、h参数定义:itocf();n ;long ze;其中:fils就是文件描述符;funcin就是锁定与解锁;表示锁定;0表示解锁;Sz就是锁定或解锁得字节数,若用0,表示从文件得当前位置到文件尾。、rad功能:从描述符为得文件读
6、信息。用法:cle ssze_tead(nt , id *buff,si_ yt) ;返回:读到得字节数,若已到文件尾为0,若出错为-1。 在UNIX/Linux 可重定义为: ntread(it fd, ca buff, nsiged bytes) ;4、wite功能:向已打开得文件写数据.用法:nlude nitd、hssize_wie(nt , cost void buff, size_t es);返回值:若成功为已写入得字节数;出错为1.intwit(intd, chr *buff, usigned nbytes);文件位置指针文件位置指针:每个打开文件都有一个与其相关联得“当前位移量
7、”.就是从文件开始处计算得字节数.通常,读、写操作都从当前文件位置处开始,并使位移量增加所读或写得字节数。按系统默认,当打开一个文件时,除非指定O_PEND选择项,否则该位移量被设置为0,即指向文件得开始处。文件位置指针可以通过系统调用lek来移动.inclue unst、 incldesys/tys、h #iclude errno、h includ stdio、h inlue trn、h #cdestdlib、 / 程序入口*/ ntmain() npipe_fd2; pd_t pd; cha ufr100; ar wf; it_num; memet(buf_r,0,sizeof(bf_);
8、 /对较大得结构体或数组进行清零操作得一种最快方法 /*创建管道*/ i(ip(ppe_fd)0) prntf(”piperte errrn); return; /创建子进程 if((pd=fok()=0)/子进程执行序列 rintf(n”); clos(piped1);/子进程先关闭了管道得写端 sleep();/让父进程先运行,这样父进程先写子进程才有内容读* i((rnu=read(pie_f0,buf_r,10))0) rintf(”%d nmers red fromhe pei %sn,_nm,bu_r); close(pip_f0); xit(0); ese if(pid)/父进程
9、执行序列 lose(pip_f0); /父进程先关闭了管道得读端 if(write(pe_fd1,elo,5)!=1) prif(pent rite1ello!n”); f(write(ppe_d,Pi”,5)!=1) pitf(”parnt wrte2 Pi!); clo(ie_fd1); waiti(pi,NUL,0); /等待子进程结束*/ exi(); return0; 4、命名管道通信命名管道:命名管道与无名管道基本相同,但也有不同点:无名管道只能有父进程使用;但就是通过命名管道,不相关得进程也能交换数据。客户机实现数据得发送,服务器实现数据接收。1、创建用kifo或mknd创建一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 管道 通信 课程设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。