2022年操作系统课程方案指导书版.docx
《2022年操作系统课程方案指导书版.docx》由会员分享,可在线阅读,更多相关《2022年操作系统课程方案指导书版.docx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、个人资料整理仅限学习使用操作系统课程设计指导书试用版)内蒙古工业高校信息工程学院运算机系2021 12目 录个人资料整理仅限学习使用操作系统课程设计教案大纲课程编号: 020217008学时 周): 1 周学分: 1课程英文名称: Operating System of computer课程类别:技术基础课开出学期: 第五学期开出单位 系):运算机系适用专业:软件工程制定人:赵俊生、马志强一、制定依据依据内蒙古工业高校2006 版培育方案、操作系统课程教案大纲等制订本课程设计教案大纲;二、目的与基本要求1. 目的操作系统课程设计是操作系统课程的重要实践性环节;通过小型文件系统、银行家算法、主存
2、空间的安排与回收和处理机治理的设计与实现,可以加深同学对课堂中所讲授内容的懂得,培育同学的系统开发才能,加强同学的工程体会,使同学初步具有争论、设 计、编制和调试操作系统模块的才能;2. 基本要求依据操作系统课程设计任务书所确定的设计内容,每位同学挑选其中一个设计题目进行一周的设计,针对设计内容查阅相关资料、进行理论分析、确定相应算法并编程实现原型系统;完成原型系统后,依据内蒙古工业高校课程设计说明书书写规范,编写操作系统课程设计说明书;最终进行课程设计答辩;三、基本内容和支配1. 基本内容题目一:文件系统的设计与实现 题目二:银行家算法的设计与实现题目三:主存空间的安排与回收 题目四:处理机
3、治理2. 支配周一:布置、讲解题目,收集资料;周二:系统分析,算法设计; 周三:编制、调试程序;周四:测试系统,形成设计结论,编写课设报告;周五:系统及材料验收,课设答辩;四、组织及指导方式1. 同学的组织本课设支配四个题目,学号为单号同学挑选题目一或三进行设计,学号为双号同学挑选题目二或四进行设计,一人一组,设计过程中可以相互争论;2. 指导方式每班指导老师两人,每人指导一题,跟班指导;五、考核方式及成果评定1. 考核方式成果考核实行面试答辩形式;2. 成果评定由指导老师依据同学在设计中的表现、任务的完成情形、课程设计报告的质量等综合评定;评分标准为: 1)完成基本功能占60%;2)设计报告
4、占20%;3)出勤率占 10% ;4) 回答指导老师提问占10%;依据以上四个标准,课程设计成果按优秀、良好、中等、及格和不及格五级记分制评定;六、教材及主要参考资料1. 教材1 张尧学主编运算机操作系统教程第三版)北京 : 清华高校出版社, 20062. 主要参考书1 张尧学编运算机操作系统教程第三版)习题解答与试验指导北京: 清华高校出版社, 20062 汤子瀛主编运算机操作系统第三版)西安 : 西安电子科技高校出版社,20013 张坤等编操作系统试验教程北京: 清华高校出版社, 20214 张丽芬等编操作系统试验教程北京: 清华高校出版社,20065 AndrewS.Tanenbaum.
5、 ModernOperatingSystems, Second Edition.Englewood Cliffs,N.J,Prentice Hall, 20016 屠祁等编 . 操作系统基础 第三版)北京 : 清华高校出版社,20007 冯耀霖等编 . 操作系统 . 西安 : 西安电子科技高校出版社,20018 左万历运算机操作系统教程其次版)北京:高等训练出版社,2004第一章 设计规范与说明1. 1 设计规范一、问题分析与系统结构的设计充分地分析和懂得问题本身;本阶段主要解决“要作什么,限制条件是什么”;第一从问题中抽取合适的数据结构,作为整个系统的底层,解决问题的算法作为上层;定义数据的
6、储备结构及其在这些结构上的操作,使得在上层的应用中可以通过这些操作完成对数据结构层的拜访;在这个过程中,要综合考虑系统功 能,使所设置的操作要易于系统整体功能的实现;最终写出每个函数的规格说明,包括形参个数和类型、函数的返回类型、函数的前提条件是什么、以及函数的功能;列出函数间的调用关系,可以使用调用关系图表示就更加清晰,这样便完成了系统结构设计;二、具体设计和编码具体设计的目的是对函数的进一步求精;用if 、while 和赋值语句等类语言写出算法的框架;利用类语言的目的是防止陷入细节;在编码时,可以对具体设计的结果进一步求精,用高级语言表示出来;应留意以下事项;1. 程序的每一行最好不超过
7、60 个字符;每个函数通常不要太长,以40 行为宜;函数包含的程序行数太多,易于造成阅读困难;2变量定义为:名 +类型;如: LinkList*firstLinkListPointer ;其中 first 为名,后面的 LinkListPointer 说明是链表指针类;3. 掌握 if 、while 等语句的嵌套深度,最多不超过5 层;4. 对每一段程序完成的作用,除特别明显的除外如: x = x + 1; 注释为x 加 1,没有什么意义),都应加以注释;这会对程序的调试供应很多便利;5. 对每个数据结构和其函数要进行单元测试;6. 依据情形可以设立如干调试点,即输出如干信息,用于验证和你的设
8、想是否一样;另外,对于输入输出语句,必需对它们的作用加以说明;否就,在调试程序时,无法明白系统需要输入说明,系统输出的又是什么;三、静态检查自己用一组数据手动执行程序;或和同学一起阅读自己的程序,以全面地明白该程序的规律;1. 2 报告的整理与形成一、调试报告包括的内容有问题是如何解决的,争论与分析、改进设想、体会与体会、时空复杂度等;二、源程序清单和结果打印的源程序清单和测试结果附在设计报告的后面;源程序必需有注释, 以及必要的测试数据和运行结果数据;注释提倡用英文描述;三、文档及资料的形成在程序开发过程中,逐步形成各种必要的文档及资料;其次章 设计内容2. 1 文件系统的设计与实现一、设计
9、目的通过设计一个小型文件系统,进一步把握文件治理的方法和技术,使同学初步具有争论、设计、编制和调试操作系统模块的才能;二、设计要求与提示1. 问题描述在任一 OS 下,建立一个大文件,把它假想成一张盘,在其中实现一个简洁的小型文件系统;2. 基本要求该文件系统没有子目录机制,文件连续安排,不考虑换“盘”和分区;做一个简洁的操作界面, 供应五条 简洁的命令:dir 、 mkfile 、 type、 copy、delfile ,分别用于显示文件目录、建立文件、显示文件内容、复制和删除一个文件;三、设计思想、环境说明和使用工具1. 设计思想建立一个系统文件 为了说明哪些分区是闲暇的,可以用来装入新作
10、业,必需要有一张闲暇区说明表,如表 3-1 所示;010K20K45K65K110K256K操作系统 10KB作业 110KB 作业 425KB 闲暇区 120KB作业 245KB闲暇区 2146KB图 3-1 主存空间占用情形表 3-1 闲暇区说明表起始地址长度状态45K20KB未安排110K146KB未安排空表目空表目空表目其中,起始地址指出各闲暇区的主存起始地址,长度指出闲暇区大小;状态有:未安排:该栏目是记录的有效闲暇区;空表目:没有登记信息;由于分区个数不定,所以闲暇区说明表中应有足够的空表目项;否就造成溢出,无法登记;同样,再设一个已安排区表,记录作业或进程的主存占用情形;2 当有
11、一个新作业要求装入主存时,必需查闲暇区说明表,从中找出一个足够大的闲暇区;有时找到的闲暇区可能大于作业需求量,这时应将闲暇区一分为二;一个分给作业;另一个仍作为闲暇区留在闲暇区表中;为了尽量削减由于分割造成的碎片,尽可能安排低地址部分的闲暇区,将较大闲暇区留在高地址端,以利于大作业的装入;为此在闲暇区表中,按闲暇区首地址从低到高进行登记;为了便于快速查找,要不断地对表格进行紧缩,即让“空表目” 项留在表的后部;其安排框图如图 3-2 所示;开头申请 XK 主存J=0J=J+1查看第 J 个表目的登记项N状 态 为 “ 未 分N配”吗 .Y等于小于长度 =XK.J 为 空 闲区说明表的最终一个表
12、目?置状态为“空表将空表目向后移大于长度 =长度 XK始址 =始址 XKY作业等待返回登记已安排区表和闲暇区表,输出系统中各数据结构的值;返回安排给作业的主存始址;3图 3-2 首次适应算法安排框图当一个作业执行完成时,作业所占用的分区应归仍给系统;在归仍时要考虑相邻闲暇区合并的问题;作业的释放区与闲暇区的邻接分以下4 种情形考虑:A. 释放区下邻 低地址邻接 闲暇区;B. 释放区上邻 高地址邻接 闲暇区; C释放区上下都与闲暇区邻接; D释放区与闲暇区不邻接;首次适应算法回收框图如图 3 3 所示;2环境说明工具: C 语言;在 WINDOWS 环境下使用 VC+6.0 进行开发;四、主要的
13、数据结构数据结构说明:#define N 5structfreearea /*定义一个闲暇区说明表结构,并初始化变量*/ int startaddress; /* 闲暇区始址 */ int size; /* 闲暇区大小 */int state; /* 闲暇区状态: 0 为空表目, 1 为可用闲暇块 */freeblockN 20 , 20 , 1 , 80 , 50 , 1 , 150 , 100 , 1 ,300 ,30,0,600,100,1;五、课程设计应提交的主要内容1. 写出实现主存的安排和回收程序的数据结构、算法和算法流程图;2. 打印出程序清单;3. 写出程序调试及运行情形;4.
14、 写出系统设计中显现的问题及解决的方法;5. 课程设计的体会;6. 自我评判与总结;开头S=释放区始址L= 释放区长度查闲暇区说明表N有与释放区的高地址邻Y接上邻 的闲暇区吗?有与释放区下邻Y的闲暇区吗?L=L 上邻闲暇区长度N在闲暇区说明表中找一空表目登记: 始址 =S长度 =L状态 =未安排按地址次序调整和紧缩闲暇区说明表Y把上邻闲暇区登记栏中的状态置为“空表目”,且将空表 目 向 后 调把下邻闲暇区登记栏中的长度改为:长度 =长度 L有与释放区下邻的闲暇区吗?N把上邻闲暇区登记栏 中的始址改为S,长度改为 L有 等 待 装 入的作业吗?Y唤醒等待的作业并返回N返回图 3-3 首次适应算法
15、回收框图2 4 处理机治理一、设计目的在多道程序或多任务系统中,系统同时处于就绪态的进程有如干个;也就是说能运行的进程数远远大于处理机个数;为了使系统中的各进程能有条不紊地运行,必需挑选某种调度策略,以挑选一进程占有处理机;要求同学设计一个模拟单处理机调度的算法,以巩固和加深处理机调度的概念;二、设计要求1、问题描述处理机治理是操作系统中特别重要的部分;为深化懂得处理机调度部分的功能,设计一个按时间片轮转调度CPU 的算法,模拟实现处理机的调度;2基本要求时间片轮转调度CPU 的算法是分时系统采纳的典型算法,把CPU 的执行时间分成如干个肯定大小的时间片轮番的安排给就绪队列的各个进程,让各就绪
16、进程按指定的次序分别占用CPU 的一个时间片轮番执行下去,直至完成;要求定义进程掌握块PCB 的结构,并为每个进程任意确定一个要求运行时间和到达时间,依据进程到达的先后次序排成一个循环队列;设计按时间片轮转的进 程调度算法;三、设计思想、环境说明和使用工具1. 设计思想1假设系统有 5 个进程,每个进程用一个进程掌握块PCB 来代表; PCB的格式如图 4-1 所示;进程名链接指针到达时间估量运行时间进程状态图 4-1 进程掌握块其中,进程名即进程标识;链接指针:指出下一个到达进程的进程掌握块首地址;依据进程到达的次序排队;系统设置一个队头和队尾指针分别指向第一个和最终一个进程;新生成的进程放
17、队尾;估量运行时间、到达时间以及进程状态与图3-1 中相同;2为每个进程任意确定一个要求运行时间和到达时间;3依据进程到达的先后次序排成一个循环队列;再设一个队首指针指向第一个到达进程的首址;4执行处理机调度时,开头挑选队首的第一个进程运行;另外再设一个当前运行进程指针,指向当前正运行的进程;5由于本实践是模拟算法,所以对被选中进程并不实际启动运行,而只是执行:估量运行时间减 1;输出当前运行进程的名字;用这两个操作来模拟进程的一次运行;6进程运行一次后,以后的调度就将当前指针依次下移一个位置,指向下一个进程,即调整当前运行指针指向该进程的链接指针所指进程,以指示应运行进程;同时仍应判定该进程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 操作系统 课程 方案 指导书
限制150内