《操作系统》课程设计报告书-进程间通信(IPC)消息机制.docVIP

《操作系统》课程设计报告书-进程间通信(IPC)消息机制.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
河南城建学院 《操作系统》课程设计报告书 设计题目:进程间通信(IPC)消息机制 专 业: 计算机科学与技术 指导教师: 班 级: 学 号: 姓 名: 同 组 人: 计算机科学与工程系 2010年01月14日 前言 课程设计是检测学生学习课程效果的重要手段,是训练学生通过所学知识解决实际问题的重要方式,同时也是实践性教学中的一个重要环节,它以某一课程为基础,可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。课程设计是让同学对所学的课程更全面的学习和应用,理解和掌握课程的相关知识。《操作系统》是一门重要的专业课,是计算机理论和应用的核心基础课程。 操作系统课程设计,是一次对多学知识的综合演练,要求学生在操作系统的设计理念、整体机构、模块划分、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。 在这次的课程设计中我们选择的题目是进程间通信(IPC)消息机制的设计,实现消息的创建、发送和接收及在sever端创建一个服务函数,从而形成C/S通讯模式。 消息机制是消息通过消息队列的方式进行进程间消息的传递。通过此次课程设计,全面理解消息机制进程间通信方法。实现把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的计算机操作系统的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解的目的。 目录 一、系统环境……………………………………………………….……3 二、设计目的……………………………………………………….……3 三、总体设计………………………………………………….…………3 消息的创建、接收和发送………………………………………….4 四、功能模块说明………………………………………………………5 4.1数据结构…………………………………………………………….5 4.2系统调用函数、参数值及说明……………………………………..5五、源程序清单及执行结果分析………………………………………7 5.1消息的创建、接收和发送………………………………………….7 5.2功能扩展…………………………………………………………….8 5.3执行结果分析………………………………………………….……9 六、总结与体会………………………………………………………..11 七、参考文献………………………………………………………..…11 一、系统环境 1.硬件环境: Pentium? 4 CPU 3.06GHz 3.06GHz, 512MB的内存 物理地址扩展 2.软件环境: Microsoft windows XP VMware workstation (Red Hat Linux 9) 使用C++或者C语言 二、设计目的 通过课程设计,了解自己在学习中的不足,同时也增强了自己学习的兴趣。学习计算机软件技术,,,1)消息的创建、发送和接收 使用系统调用msgget(),md(),m(),msgctl()编制一长度为1K的消息发送和接收的程序。 a.为了便于操作和观察结果,,fork()两个子进程,SERVERCLIENT,SERVER端建立一个Key为75的消息队列,1的消息,,,SERVER。SERVER每接收到一个消息后显示一句“(server)received”。c.CLIENT端使用key为75的消息队列,10到1的消息,,SERVER端需要的结束信号。CLIENT每发送一条消息后显示一句“(client)sent”。d.父进程在SERVER和CLIENT均退出后结束。 (2)功能扩展:在sever端创建一个服务函数,从而形成C/S通讯模式 要求SERVER每接收到一次数据后不仅仅显示“(server)received”,而是做一些其它事情,比如读取或查询某个文件等。此功能可由设计者自己定义。 在此基础上可以扩展客户端,比如设计一个菜单界面,接收不同的选项,并发送到服务器端,请求对方提供服务。 流程图 消息的创建、发送和接受 四、模块功能说明 1.数据结构 struct msgform //消息结构 { long mtype; char mtext[1030]; //文本长度 } msg; 2.系统调用函数、参数值及说明 (1)fork() 创建一个新进程。 用法: int fork() 其中返回int取值意义如下: 0:创建子进程,从子进程返回的id值 ;0:从父进程返回的子进程id值;-1

您可能关注的文档

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档