已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安建筑科技大学华清学院课程设计(论文)课程设计(论文)题 目: 读者与写者问题(进程同步) 院 (系): 信息与控制工程系 专业班级: 计算机2012 姓 名: 肖丝露 学 号: 20120124 指导教师: 董丽丽 2015年 1 月 23日第6页 共?页本页把给大家分发的任务书粘过来设计总说明这里主要介绍你的题目所包含的内容,设计思路,实现方法和设计结果等。介绍清楚设计包含的功能模块。 本设计的读者写者问题,是指一些进程共享一个数据区。数据区可以使一个文件、一块内存空间或者一组寄存器。Reader进程只能读数据区中的数据,而writer进程必须与其他进程互斥地访问共享对象的同步问题。 读者写者问题可以这样的描述, 有一群写者和一群读者, 写者在写同一本书, 读者也在读这本书, 多个读者可以同时读这本书。但是,只能有一个写者在写书, 并且,读者必写者优先,也就是说,读者和写者同时提出请求时,读者优先。当读者提出请求时需要有一个互斥操作, 另外, 需要有一个信号量S来确定当前是否可操作。 本设计方案就是通过利用记录型信号量对读者写者问题的解决过程进行模 拟演示,形象地阐述记录型信号量机制的工作原理。关键字:共享对象,互斥,同步,信号量,读者写者目录1.设计目的12.问题描述13.需求分析14.概要设计15.详细设计16.调试分析17.使用说明28.设计总结29.参考文献210.程序源代码2操作系统课程设计读者与写者问题(进程同步)1.设计目的“操作系统”是计算机专业的核心专业课,“操作系统课程设计”是理解和巩固操作系统基本理论、原理和方法的重要的实践环节。 操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统基本理论与管理方式。在算法基础上,解决实际的管理功能的问题,提高学生实际应用、编程的能力。课程设计要求学生在完成程序设计的同时能够撰写比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。2.问题描述本设计借助C语言实现进程同步和互斥的经典问题-读者写者问题,用高级语言编写和调试一个进程同步程序,以加深对进程同步机制的理解。通过用C语言模拟进程同步实现,加深理解有关进程同步和互斥机制的概念及P、V操作的应用。3.需求分析主要叙述软件必须具备的功能和要求。读者写者问题的定义如下:有一个许多进程共享的数据区,这个数据区可以是一个文件或者主存的一块空间;有一些只读取这个数据区的进程(Reader)和一些只往数据区写数据的进程(Writer),此外还需要满足以下条件:(1) 任意多个读进程可以同时读这个文件;(2) 一次只有一个写进程可以往文件中写;(3) 如果一个写进程正在进行操作,禁止任何读进程度文件。我们需要分两种情况实现该问题:读优先:要求指一个读者试图进行读操作时,如果这时正有其他读者在进行操作,他可直接开始读操作,而不需要等待。写优先:一个读者试图进行读操作时,如果有其他写者在等待进行写操作或正在进行写操作,他要等待该写者完成写操作后才开始读操作。3.1 数据需求 3.2 基本功能需求 3.3 非功能性需求用户界面需求:简洁、易用、易懂、友好的用户界面。硬件要求:装有Visual C+6.0的计算机。可靠性需求:保证用户在正常使用本系统时,用户的操作或误操作不会产生数据的丢失。4.概要设计主要说明对软件中有关信息设计的数据结构;画出整个软件的系统结构图,说明各个模块的功能。4.1 数据结构4.2 系统包含的函数4.3 函数间的关系4.4 系统功能模块图用图示的方法把各个模块及之间的关系画出来,注意图下方要有“图号 图名”,例如“图4-1 系统功能模块图”5.详细设计主要写出所设计数据结构的详细定义和组成;各个模块的算法流程图或伪码表示。这部分可以粘贴部分代码,诚信保证书可以放在这部分5.1 结构体的详细定义5.2 系统函数详细介绍5.3 系统功能模块介绍程序由两部分组成:1.读者-写者模块:包括系统调用接口,读者-写者活动描述主程序。系统接口主要功能是通过管道向父进程发送系统调用命令,并读取父进程送来的返回值。读者-写者活动程序根据临界资源的共享,互斥原则编制,具体见源程序。2.主控模块:主控模块实现系统初始化系统调用命令接收与解释执行,系统调用功能的实现(包括信号量机制),及读者-写者活动过程记录与显示。5.4 具体模块设计把各个模块用图示的方法画出流程图,注意图下方要有“图号 图名”6.调试分析(1) 测试数据:(2) 算法改进设想:7.使用说明系统使用的方法,可以给一个测试实例,把图抓下来,注意图居中,“图号 图名”也要居中。8.设计总结这一次课程设计,让我体会很深刻。读者-写者问题经典的线程同步问题的一个模型。经过读者写者问题的编写,我对同步机构应用有了深入的了解。懂得了运用信号量实现进程间的互斥。实现了不让共享资源同时修改。用信号量上的原语操作使临界段问题的解决比较简单明了了。读者写者问题的编写,花的时间很多,也学到很多东西。了解支持多道程序的并发操作系统设计中解决资源共享时进程间的同步与互斥的信号量机制。几天的试验,虽然难度有点大,但只要自己花时间去学习,还是会攻克困难的。总之,每一次课程设计不仅是我们学习的好机会,而且是我们锻炼实际动手能力的平台,虽然有难度的东西总会让人很抵触,比如在课设过程中有很多郁闷的时候,一个小小的错误一不小心就花去了自己一上午的时间,所以在这个过程中能够磨练人的意志与耐心,最后感谢老师的指导与监督。9.参考文献【1】汤小丹、梁红兵、哲凤屏、汤子瀛 编著.计算机操作系统(第三版).西安:西安电子科技大学出版社,2007.5【2】史美林编.计算机操作系统教程.北京:清华大学出版社,1999.11【3】徐甲同编著.操作系统教程.西安:西安电子科技大学出版社,1996.8【4】Clifford,A.Shaffer编著.数决结构与算法分析(C+版).北京:电子工业出版社,2005.7【5】蒋立翔编著.C+程序设计技能百练.北京:中国铁道出版社,2004.1 10程序源代码各位同学: 现将存在的共性问题描述如下,大家以此为标准进行撰写修改: 1.报告文件的命名统一命名成“学号-姓名-题目.doc,方便归档整理; 2.封面,页眉,页脚都调整好了,按照这个模板把你设计的内容一部分一部分填写进去,具体要求注意的问题已在模板中进行了批注; 3.论文中出现图的地方应该在图下方有标记,例如如果在“概要设计”部分有一个系统流程图,就在图的正下方居中写上“图4-1 系统流程图”,其他的地方依次类推。 图的大小应该跟页面大小一致,太大的缩小一些,居中,“图号 图名”也要居中。 4.有表的地方在表格上方正中写上类似于“表3-1 .。表”的字样,不清楚可以看一下课本中是如何书写的。 5.使用说明应简明扼要,但也应该有相应的文字说明 6.课设总结要写你课设过程中遇到的诸多问题及解决方法,并且写出你的真实收获和感受,不应少于1页。 7.参考文献按照模板中的格式书写。 8.字体大小和行间距等均参照模
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 签四方协议劳动合同
- 砖厂安全生产协议书
- 砼劳务分包合同范本
- 矿山配件合同协议书
- 整体护理质量评价标准
- 中医特色护理健康宣教
- 结肠癌常见症状及护理注意事项培训
- 痴呆症典型症状详解及护理指南
- 2026年高端私人影院建设公司项目现场管理制度
- 2025年社会化服务项目隐患排查表(有依有据)
- 华为ICT大赛2024-2025中国区实践赛(昇腾Al赛道)省决赛考试题库及答案(供参考)
- 高三艺考培训班开学
- 开原市污水处理厂提标改造可研报告
- 核和辐射事故医学应急演练
- GB/T 12979-2024近景摄影测量规范
- 2024新《公司法》亮点全面解读课件
- JB-T 14320-2022 氧气用止回阀
- 深基坑拉森钢板桩支护方案完整版
- 小学二年级乘除法口算题每页100道
- 第三单元一《伐檀》公开课一等奖创新教案-【中职专用】(中职语文高教版2023-2024-基础模块上册)
- 山西2023年晋商银行校园招聘柜员岗考试参考题库含答案详解
评论
0/150
提交评论