《操作系统》课程设计
指导书
------操作系统课程组
内蒙古工业大学信息工程学院计算机系
2012.12
目 录
《操作系统课程设计》教学大纲........................................ 3 第一章 设计规范与说明............................................... 5
1.1 设计规范 ................................................... 5 1.2 报告的整理与形成 ........................................... 6 第二章 设计内容..................................................... 7
2.1 文件系统的设计与实现 ....................................... 7 2.2 银行家算法的设计与实现 ..................................... 9 2.3 主存空间的分配与回收 ...................................... 11 2.4 处理机管理 ................................................ 16 内蒙古工业大学课程设计任务书(一)................................. 19 内蒙古工业大学课程设计任务书(二)................................. 20 内蒙古工业大学课程设计任务书(三)................................. 21 内蒙古工业大学课程设计任务书(四)................................. 22 内蒙古工业大学课程设计(论文)说明书书写规范....................... 23 附录一 模拟文件系统实践示例:..................................... 26 附录二 银行家算法实践示例:....................................... 43 附录三 可变式分区的分配与回收实践示例:........................... 49 附录四 时间片轮转法进行CPU调度的示例:........................... 54
《操作系统课程设计》教学大纲
课程编号:020217008 学时(周):1周 学分:1 课程英文名称:Operating System of computer 课程类别:技术基础课 开出学期: 第五学期 开出单位(系):计算机系 适用专业:计算机科学与技术、软件工程 制定人:赵俊生、马志强 一、制定依据
根据内蒙古工业大学2006版培养方案、操作系统课程教学大纲等制订本课程设计教学大纲。
二、目的与基本要求
1. 目的
操作系统课程设计是操作系统课程的重要实践性环节。通过小型文件系统、银行家算法、主存空间的分配与回收和处理机管理的设计与实现,可以加深学生对课堂中所讲授内容的理解,培养学生的系统开发能力,加强学生的项目经验,使学生初步具有研究、设计、编制和调试操作系统模块的能力。
2. 基本要求
根据操作系统课程设计任务书所确定的设计内容,每位同学选择其中一个设计题目进行 一周的设计,针对设计内容查阅相关资料、进行理论分析、确定相应算法并编程实现原型系统;完成原型系统后,按照内蒙古工业大学课程设计说明书书写规范,编写操作系统课程设计说明书;最后进行课程设计答辩。 三、基本内容和安排
1. 基本内容
题目一:文件系统的设计与实现
题目二:银行家算法的设计与实现 题目三:主存空间的分配与回收 题目四:处理机管理 2. 安排
周一:布置、讲解题目,收集资料; 周二:系统分析,算法设计;
周三:编制、调试程序;
周四:测试系统,形成设计结论,编写课设报告; 周五:系统及材料验收,课设答辩。 四、组织及指导方式
1. 学生的组织
本课设安排四个题目,学号为单号学生选择题目一或三进行设计,学号为双号学生选择题目二或四进行设计,一人一组,设计过程中可以相互讨论。
2. 指导方式
每班指导教师两人,每人指导一题,跟班指导。 五、考核方式及成绩评定
1. 考核方式
成绩考核采取面试答辩形式。 2. 成绩评定
由指导教师根据学生在设计中的表现、任务的完成情况、课程设计报告的质量等综合评定。评分标准为:1)完成基本功能占60%;2)设计报告占20%;3)出勤率占10%;4)回答指导教师提问占10%。根据以上四个标准,课程设计成绩按优秀、良好、中等、及格和不及格五级记分制评定。 六、教材及主要参考资料
1. 教材
[1] 张尧学主编.计算机操作系统教程(第三版).北京:清华大学出版社,2006 2. 主要参考书
[1] 张尧学编.计算机操作系统教程(第三版)习题解答与实验指导.北京:清华大学出版社,2006
[2] 汤子瀛主编.计算机操作系统(第三版).西安:西安电子科技大学出版社,2001 [3] 张坤等编.操作系统实验教程.北京:清华大学出版社,2008 [4] 张丽芬等编.操作系统实验教程.北京:清华大学出版社,2006
[5] Andrew S.Tanenbaum. Modern Operating Systems, Second Edition.Englewood Cliffs,N.J,Prentice Hall, 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.根据情况可以设立若干调试点,即输出若干信息,用于验证和你的设想是否一致。另外,对于输入输出语句,必须对它们的作用加以说明。否则,在调试程序时,无法了解系统需要输入说明,系统输出的又是什么。
三、静态检查