您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 操作系统课程设计指导书-09版软件08
《操作系统》课程设计指导书(试用版)内蒙古工业大学信息工程学院计算机系2009.12目录《操作系统课程设计》教学大纲........................................3第一章设计规范与说明...............................................51.1设计规范...................................................51.2报告的整理与形成...........................................6第二章设计内容.....................................................72.1文件系统的设计与实现.......................................72.2银行家算法的设计与实现.....................................92.3主存空间的分配与回收......................................112.4处理机管理................................................16内蒙古工业大学课程设计任务书(一).................................19内蒙古工业大学课程设计任务书(二).................................20内蒙古工业大学课程设计任务书(三).................................21内蒙古工业大学课程设计任务书(四).................................22内蒙古工业大学课程设计(论文)说明书书写规范.......................23附录一模拟文件系统实践示例:.....................................26附录二银行家算法实践示例:.......................................43附录三可变式分区的分配与回收实践示例:...........................49附录四时间片轮转法进行CPU调度的示例:...........................54《操作系统课程设计》教学大纲课程编号:020217008学时(周):1周学分:1课程英文名称:OperatingSystemofcomputer课程类别:技术基础课开出学期:第五学期开出单位(系):计算机系适用专业:软件工程制定人:赵俊生、马志强一、制定依据根据内蒙古工业大学2006版培养方案、操作系统课程教学大纲等制订本课程设计教学大纲。二、目的与基本要求1.目的操作系统课程设计是操作系统课程的重要实践性环节。通过小型文件系统、银行家算法、主存空间的分配与回收和处理机管理的设计与实现,可以加深学生对课堂中所讲授内容的理解,培养学生的系统开发能力,加强学生的项目经验,使学生初步具有研究、设计、编制和调试操作系统模块的能力。2.基本要求根据操作系统课程设计任务书所确定的设计内容,每位同学选择其中一个设计题目进行一周的设计,针对设计内容查阅相关资料、进行理论分析、确定相应算法并编程实现原型系统;完成原型系统后,按照内蒙古工业大学课程设计说明书书写规范,编写操作系统课程设计说明书;最后进行课程设计答辩。三、基本内容和安排1.基本内容题目一:文件系统的设计与实现题目二:银行家算法的设计与实现题目三:主存空间的分配与回收题目四:处理机管理2.安排周一:布置、讲解题目,收集资料;周二:系统分析,算法设计;周三:编制、调试程序;周四:测试系统,形成设计结论,编写课设报告;周五:系统及材料验收,课设答辩。四、组织及指导方式1.学生的组织本课设安排四个题目,学号为单号学生选择题目一或三进行设计,学号为双号学生选择题目二或四进行设计,一人一组,设计过程中可以相互讨论。2.指导方式每班指导教师两人,每人指导一题,跟班指导。五、考核方式及成绩评定1.考核方式成绩考核采取面试答辩形式。2.成绩评定由指导教师根据学生在设计中的表现、任务的完成情况、课程设计报告的质量等综合评定。评分标准为:1)完成基本功能占60%;2)设计报告占20%;3)出勤率占10%;4)回答指导教师提问占10%。根据以上四个标准,课程设计成绩按优秀、良好、中等、及格和不及格五级记分制评定。六、教材及主要参考资料1.教材[1]张尧学主编.计算机操作系统教程(第三版).北京:清华大学出版社,20062.主要参考书[1]张尧学编.计算机操作系统教程(第三版)习题解答与实验指导.北京:清华大学出版社,2006[2]汤子瀛主编.计算机操作系统(第三版).西安:西安电子科技大学出版社,2001[3]张坤等编.操作系统实验教程.北京:清华大学出版社,2008[4]张丽芬等编.操作系统实验教程.北京:清华大学出版社,2006[5]AndrewS.Tanenbaum.ModernOperatingSystems,SecondEdition.EnglewoodCliffs,N.J,PrenticeHall,2001[6]屠祁等编.操作系统基础(第三版).北京:清华大学出版社,2000[7]冯耀霖等编.操作系统.西安:西安电子科技大学出版社,2001[8]左万历.计算机操作系统教程(第二版).北京:高等教育出版社,2004第一章设计规范与说明1.1设计规范一、问题分析与系统结构的设计充分地分析和理解问题本身。本阶段主要解决“要作什么,限制条件是什么”。首先从问题中抽取合适的数据结构,作为整个系统的底层,解决问题的算法作为上层。定义数据的存储结构及其在这些结构上的操作,使得在上层的应用中可以通过这些操作完成对数据结构层的访问。在这个过程中,要综合考虑系统功能,使所设置的操作要易于系统整体功能的实现。最后写出每个函数的规格说明,包括形参个数和类型、函数的返回类型、函数的前提条件是什么、以及函数的功能。列出函数间的调用关系,可以使用调用关系图表示则更加清晰,这样便完成了系统结构设计。二、详细设计和编码详细设计的目的是对函数的进一步求精。用if、while和赋值语句等类语言写出算法的框架。利用类语言的目的是避免陷入细节。在编码时,可以对详细设计的结果进一步求精,用高级语言表示出来。应注意以下事项。1.程序的每一行最好不超过60个字符。每个函数通常不要太长,以40行为宜。函数包含的程序行数太多,易于造成阅读困难。2.变量定义为:名+类型。如:LinkList*firstLinkListPointer;其中first为名,后面的LinkListPointer说明是链表指针类。3.控制if、while等语句的嵌套深度,最多不超过5层。4.对每一段程序完成的作用,除非常明显的除外(如:x=x+1;注释为x加1,没有什么意义),都应加以注释。这会对程序的调试提供很多方便。5.对每个数据结构和其函数要进行单元测试。6.根据情况可以设立若干调试点,即输出若干信息,用于验证和你的设想是否一致。另外,对于输入输出语句,必须对它们的作用加以说明。否则,在调试程序时,无法了解系统需要输入说明,系统输出的又是什么。三、静态检查自己用一组数据手动执行程序;或和同学一起阅读自己的程序,以全面地了解该程序的逻辑。1.2报告的整理与形成一、调试报告包括的内容有问题是如何解决的,讨论与分析、改进设想、经验与体会、时空复杂度等。二、源程序清单和结果打印的源程序清单和测试结果附在设计报告的后面。源程序必须有注释,以及必要的测试数据和运行结果数据。注释提倡用英文描述。三、文档及资料的形成在程序开发过程中,逐步形成各种必要的文档及资料。第二章设计内容2.1文件系统的设计与实现一、设计目的通过设计一个小型文件系统,进一步掌握文件管理的方法和技术,使学生初步具有研究、设计、编制和调试操作系统模块的能力。二、设计要求与提示1.问题描述在任一OS下,建立一个大文件,把它假想成一张盘,在其中实现一个简单的小型文件系统。2.基本要求该文件系统没有子目录机制,文件连续分配,不考虑换“盘”和分区。做一个简单的操作界面,提供五条简单的命令:dir、mkfile、type、copy、delfile,分别用于显示文件目录、建立文件、显示文件内容、复制和删除一个文件。三、设计思想、环境说明和使用工具1.设计思想建立一个系统文件(模拟盘),并对此进行盘块的划分,第一个盘块存放文件目录,第二盘块存放盘块位示图,自第三个盘块开始存放各具体文件的内容,文件目录存放文件的名字,文件的扩展名,开始盘块号,所占用的盘块数目,文件的大小;盘块位示图用来标记盘块是否被占用。2.环境说明工具:C语言。在WINDOWS环境下使用VC++进行编译及运行。四、主要的数据结构数据结构说明:structfilename{//文件目录项结构体charname[9];//文件名charext[4];//扩展名inti;//文件所占用磁盘块的第一个磁盘块号intAmount;//文件所占用磁盘块的块数longintsize;//文件大小};structempty{//盘块结构体intmap[100];//盘块位示图intfilenum;//文件数量};五、课程设计应提交的主要内容1.写出实现文件管理的数据结构、算法和算法流程图。2.打印出程序清单。3.写出程序调试及运行情况。4.写出课程设计出现的问题及解决的方法。5.课程设计的体会。6.自我评价与总结。2.2银行家算法的设计与实现一、设计目的通过银行家算法设计与实现,可以加深学生对死锁的理解,掌握死锁的预防、避免、检测和解除的基本原理,重点掌握死锁的避免方法—银行家算法。使学生初步具有研究、设计、编制和调试操作系统模块的能力。二、设计要求1.问题描述系统在进行资源分配的过程中,允许进程动态的申请资源,为了避免发生死锁,在分配资源前要进行安全性检查,若此次分配不会导致系统进入不安全状态,便将资源分配给进程,否则,进程等待。2.基本要求设计一个进程动态请求资源的模拟系统,实现随机产生进程请求资源的数量;资源安全性检查算法;资源的分配算法;以及输出显示每次请求的结果和系统资源的状态。三、设计思想、环境说明和使用工具1.设计思想输入当前进程资源的使用情况以及整个系统的资源使用情况,并进行初始化安全性检查;如果是不安全状态,重新初始化系统;否则,从等待队列中提取一个等待进程,使用银行家算法进行检测,输出当前系统的状态和安全序列;如果是安全状态,系统继续从等待队列中提取等待进程进行检查;如果是不安全状态,进程回到等待队列,系统从等待队列中提取等待进程进行检查。系统中申请资源的进程全部进入等待队列等候处理。2.环境说明工具:C语言。在WINDOWS环境下使用VC++6.0进行开发。四、主要的数据结构数据结构说明:#defineMAX_RESOURCE_TYPE10//定义最大的系统资源类数structtask_struct{//进程控制块intpid;//进程编号intmax[MAX_RESOURCE_TYPE];//进程对资源的最大需求intalloc[MAX_RESOURCE_TYPE];//进程已经分配的资源intrequest[MAX_RESOURCE_TYPE];//进程本次申请的资源数};等待队列采用链表结构进行设计。五、课程设计应提交的主要内容1.写出实现银行家算法的数据结构、算法和算法流程图。2.打印出程序清单。3.写出程序调试及运行情况。4.写出系统设计中出现的问题及解决的方法。5.课程设计的体会。6.自我评价与总结。2.3主存空间的分配与回收一、设计目的本设计题目主要让大家熟悉主存的各种分配与回收。所谓分配,就是解决多道作业或多进程如何共享主存空间的问题。所谓回收,就是当作业运行完成时,将作业或进程所占用的主存空间归还给系统。主存的分配与回收的实现是与主存储器的
本文标题:操作系统课程设计指导书-09版软件08
链接地址:https://www.777doc.com/doc-3897854 .html