欢迎来到天天文库
浏览记录
ID:19852753
大小:728.00 KB
页数:20页
时间:2018-10-07
《操作系统课程设计报告1new》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程设计报告课程名称操作系统课题名称生产、消费面包问题专业班级学号姓名指导教师2012年3月16日湖南工程学院课程设计任务书课程名称操作系统课题生产、消费面包问题专业班级学生姓名学号指导老师审批任务书下达日期2012年3月16日任务完成日期2012年3月27日一、设计内容与设计要求1.设计内容:[问题描述] 面包房有五个盘子,生产者生产面包放入其中。生产时不能消费。盘子中有面包才能消费。五只盘子全满时不能生产。[基本功能](1)生产者进程(2)消费者进程2.设计要求:l课程设计报告规范1)需求分析a.程序的功能。b.输入输出的要求。2)概要设
2、计a.程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能。b.课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。3)详细设计a.采用C++语言定义相关的数据类型。b.写出各模块的类C码算法。c.画出各函数的调用关系图、主要函数的流程图。4)调试分析以及设计体会a.测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果。b.程序调试中遇到的问题以及解决问题的方法。c.课程设计过程经验教训、心得体会。5)使用说明用户使用手册:说明如何使用你编
3、写的程序,详细列出每一步的操作步骤。6)书写格式a.设计报告要求用A4纸打印成册:b.标题为:黑体二号(加粗):正文为:宋体5号。行间距为固定值22。c.封面格式如第1页。7)附录a.参考书目b.源程序清单(带注释)l考核方式指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。具体考核标准包含以下几个部分:1、平时出勤(占10%)2、系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%)3、程序能否完整、准确
4、地运行,个人能否独立、熟练地调试程序(占40%)4、设计报告(占30%)注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。5、独立完成情况(占10%)。l课程验收要求①运行所设计的系统。②回答有关问题。③提交课程设计报告。④提交软盘(源程序、设计报告文档)。⑤依内容的创新程度,完善程序情况及对程序讲解情况打分。三、进度安排第五周星期一下午14:00-18:00星期二下午14:00-18:00星期四下午14:00-18:00课程设计说明书装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。目录1.设计内容1
5、2.设计要求12.1需求分析12.2概要设计23.详细设计34.调试分析以及设计体会75.使用说明96.设计小结117.附录11.1.设计内容 面包房有五个盘子,生产者生产面包放入其中。生产时不能消费。盘子中有面包才能消费。五只盘子全满时不能生产。生产者与消费者模型中,要保证以下几点:1同一时间内只能有一个生产者生产;2同一时间内只能有一个消费者消费;3生产者生产的同时消费者不能消费;4消息队列满时生产者不能继续生产;5消息队列空时消费者不能继续消费;基本功能:1、生产者进程:对于生产者进程:产生一个数据,当要送入缓冲区时,要检查缓冲区是否已
6、满,若未满,则可将数据送入缓冲区,并通知消费者进程;否则,等待;2、消费者进程:当它去取数据时,要看缓冲区中是否有数据可取,若有则取走一个数据,并通知生产者进程,否则,等待。缓冲区是个临界资源,因此,诸进程对缓冲区的操作程序是一个共享临界区,所以,还有个互斥的问题。2.设计要求2.1需求分析该问题涉及到操作系统进程管理当中的两个重要概念——同步和互斥。由操作系统理论可知,我们需要三个信号量,分别命名full,empty,S,来分别代表消费者的可用资源数、生产者的可用资源数、缓冲区是否可用。初值:full=0(消费者无资源可用),empty=5
7、(生产者有5个资源可用,5代表缓冲区大小),s(缓冲区可用)。15在OS中引入进程后,虽然提高了资源的利用率和系统的吞吐量,但由于进程的异步性,也会给系统造成混乱,尤其是在他们争用临界资源时。为了对多个相关进程在执行次序上进行协调,以使并发执行的诸程序之间能有效地共享资源和相互合作,使程序的执行具有可再现性,所以引入了进程同步的概念。信号量机制是一种卓有成效的进程同步工具。在生产者---消费者问题中应注意(信号量名称以多个生产者和多个消费者中的为例):首先,在每个程序中用于互斥的wait(s)和signal(s必须成对出现;其次,对资源信号量
8、empty和full的wait和signal操作,同样需要成对地出现,但它们分别处于不同的程序中。生产者与消费者进程共享一个大小固定的缓冲区。其中,一个或多个生产者
此文档下载收益归作者所有