ImageVerifierCode 换一换
格式:DOCX , 页数:52 ,大小:35.12KB ,
资源ID:7298101      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7298101.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(完整版操作系统毕业课程设计指导书09版.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

完整版操作系统毕业课程设计指导书09版.docx

1、完整版操作系统毕业课程设计指导书09版操作系统课程设计指导书(试用版)内蒙古工业大学信息工程学院计算机系200912操作系统课程设计教学大纲 3第一章 设计规范与说明 511 设计规范 512 报告的整理与形成 6第二章 设计内容 721 文件系统的设计与实现 722 银行家算法的设计与实现 923 主存空间的分配与回收 1124 处理机管理 16内蒙古工业大学课程设计任务书(一) 19内蒙古工业大学课程设计任务书(二) 20内蒙古工业大学课程设计任务书(三) 21内蒙古工业大学课程设计任务书(四) 22内蒙古工业大学课程设计(论文)说明书书写规范 23附录一 模拟文件系统实践示例: 26附录

2、二 银行家算法实践示例: 43附录三 可变式分区的分配与回收实践示例: 49附录四 时间片轮转法进行CPU调度的示例: 54操作系统课程设计教学大纲课程英文名称:Operating System of computer 课程类别:技术基础课开出学期: 第五学期 开出单位(系):计算机系适用专业:软件工程制定人:赵俊生、马志强一、制定依据根据内蒙古工业大学2006版培养方案、操作系统课程教学大纲等制订本课程设计教学大纲。二、目的与基本要求1 目的操作系统课程设计是操作系统课程的重要实践性环节。通过小型文件系统、银行家算法、主存空间的分配与回收和处理机管理的设计与实现,可以加深学生对课堂中所讲授内

3、容的理解,培养学生的系统开发能力,加强学生的项目经验,使学生初步具有研究、设计、编制和调试操作系统模块的能力。2 基本要求根据操作系统课程设计任务书所确定的设计内容,每位同学选择其中一个设计题目进行一周的设计,针对设计内容查阅相关资料、进行理论分析、确定相应算法并编程实现原型系统;完成原型系统后,按照内蒙古工业大学课程设计说明书书写规范,编写操作系统课程设计说明书;最后进行课程设计答辩。三、基本内容和安排1. 基本内容题目一:文件系统的设计与实现题目二:银行家算法的设计与实现题目三:主存空间的分配与回收题目四:处理机管理2. 安排周一:布置、讲解题目,收集资料;周二:系统分析,算法设计;周三:

4、编制、调试程序;周四:测试系统,形成设计结论,编写课设报告;周五:系统及材料验收,课设答辩。四、组织及指导方式 1. 学生的组织本课设安排四个题目,学号为单号学生选择题目一或三进行设计,学号为双号学生选择题目二或四进行设计,一人一组,设计过程中可以相互讨论。 2. 指导方式每班指导教师两人,每人指导一题,跟班指导。五、考核方式及成绩评定 1. 考核方式成绩考核采取面试答辩形式。2. 成绩评定由指导教师根据学生在设计中的表现、任务的完成情况、课程设计报告的质量等综合评定。评分标准为:1)完成基本功能占60%;2)设计报告占20%;3)出勤率占10%;4)回答指导教师提问占10%。根据以上四个标准

5、,课程设计成绩按优秀、良好、中等、及格和不及格五级记分制评定。六、教材及主要参考资料1. 教材1 张尧学主编计算机操作系统教程(第三版)北京:清华大学出版社,20062. 主要参考书 1 张尧学编计算机操作系统教程(第三版)习题解答与实验指导北京:清华大学出版社,20062 汤子瀛主编计算机操作系统(第三版)西安:西安电子科技大学出版社,2001 3 张坤等编操作系统实验教程北京:清华大学出版社,20084 张丽芬等编操作系统实验教程北京:清华大学出版社,20065 Andrew S.Tanenbaum. Modern Operating Systems, Second Edition.Eng

6、lewood Cliffs,N.J,Prentice Hall, 20016 屠祁等编.操作系统基础(第三版)北京:清华大学出版社,20007 冯耀霖等编.操作系统.西安:西安电子科技大学出版社,20018 左万历计算机操作系统教程(第二版)北京:高等教育出版社,2004第一章 设计规范与说明11 设计规范一、问题分析与系统结构的设计充分地分析和理解问题本身。本阶段主要解决“要作什么,限制条件是什么”。首先从问题中抽取合适的数据结构,作为整个系统的底层,解决问题的算法作为上层。定义数据的存储结构及其在这些结构上的操作,使得在上层的应用中可以通过这些操作完成对数据结构层的访问。在这个过程中,要综

7、合考虑系统功能,使所设置的操作要易于系统整体功能的实现。最后写出每个函数的规格说明,包括形参个数和类型、函数的返回类型、函数的前提条件是什么、以及函数的功能。列出函数间的调用关系,可以使用调用关系图表示则更加清晰,这样便完成了系统结构设计。二、详细设计和编码详细设计的目的是对函数的进一步求精。用 if、while和赋值语句等类语言写出算法的框架。利用类语言的目的是避免陷入细节。在编码时,可以对详细设计的结果进一步求精,用高级语言表示出来。应注意以下事项。1程序的每一行最好不超过60个字符。每个函数通常不要太长,以40行为宜。函数包含的程序行数太多,易于造成阅读困难。2变量定义为:名+类型。如:

8、LinkList *firstLinkListPointer;其中first为名,后面的LinkListPointer说明是链表指针类。3控制if、while等语句的嵌套深度,最多不超过5层。4对每一段程序完成的作用,除非常明显的除外(如:x = x + 1; 注释为 x 加 1,没有什么意义),都应加以注释。这会对程序的调试提供很多 方便。5对每个数据结构和其函数要进行单元测试。6根据情况可以设立若干调试点,即输出若干信息,用于验证和你的设想是否一致。另外,对于输入输出语句,必须对它们的作用加以说明。否则,在调试程序时,无法了解系统需要输入说明,系统输出的又是什么。三、静态检查自己用一组数据

9、手动执行程序;或和同学一起阅读自己的程序,以全面地了解该程序的逻辑。12 报告的整理与形成一、调试报告包括的内容有问题是如何解决的,讨论与分析、改进设想、经验与体会、时空复杂度等。二、源程序清单和结果打印的源程序清单和测试结果附在设计报告的后面。源程序必须有注释,以及必要的测试数据和运行结果数据。注释提倡用英文描述。三、文档及资料的形成在程序开发过程中,逐步形成各种必要的文档及资料。第二章 设计内容21 文件系统的设计与实现一、设计目的通过设计一个小型文件系统,进一步掌握文件管理的方法和技术,使学生初步具有研究、设计、编制和调试操作系统模块的能力。二、设计要求与提示1问题描述在任一OS下,建立

10、一个大文件,把它假想成一张盘,在其中实现一个简单的小型文件系统。2基本要求该文件系统没有子目录机制,文件连续分配,不考虑换“盘”和分区。做一个简单的操作界面,提供五条简单的命令:dir、mkfile、type、copy、delfile,分别用于显示文件目录、建立文件、显示文件内容、复制和删除一个文件。三、设计思想、环境说明和使用工具1设计思想建立一个系统文件(模拟盘),并对此进行盘块的划分,第一个盘块存放文件目录,第二盘块存放盘块位示图,自第三个盘块开始存放各具体文件的内容,文件目录存放文件的名字,文件的扩展名,开始盘块号,所占用的盘块数目,文件的大小;盘块位示图用来标记盘块是否被占用。2环境

11、说明工具:C语言。在WINDOWS环境下使用VC+进行编译及运行。 四、主要的数据结构 数据结构说明: struct filename 文件目录项结构体 char name9; 文件名 char ext4; 扩展名 int i; 文件所占用磁盘块的第一个磁盘块号 int Amount; 文件所占用磁盘块的块数 long int size; 文件大小;struct empty 盘块结构体 int map100; 盘块位示图 int filenum; 文件数量; 五、课程设计应提交的主要内容1写出实现文件管理的数据结构、算法和算法流程图。2打印出程序清单。3写出程序调试及运行情况。4写出课程设计出

12、现的问题及解决的方法。5课程设计的体会。6自我评价与总结。22 银行家算法的设计与实现一、设计目的通过银行家算法设计与实现,可以加深学生对死锁的理解,掌握死锁的预防、避免、检测和解除的基本原理,重点掌握死锁的避免方法银行家算法。使学生初步具有研究、设计、编制和调试操作系统模块的能力。二、设计要求1问题描述系统在进行资源分配的过程中,允许进程动态的申请资源,为了避免发生死锁,在分配资源前要进行安全性检查,若此次分配不会导致系统进入不安全状态,便将资源分配给进程,否则,进程等待。2基本要求设计一个进程动态请求资源的模拟系统,实现随机产生进程请求资源的数量;资源安全性检查算法;资源的分配算法;以及输

13、出显示每次请求的结果和系统资源的状态。三、设计思想、环境说明和使用工具1设计思想输入当前进程资源的使用情况以及整个系统的资源使用情况,并进行初始化安全性检查;如果是不安全状态,重新初始化系统;否则,从等待队列中提取一个等待进程,使用银行家算法进行检测,输出当前系统的状态和安全序列;如果是安全状态,系统继续从等待队列中提取等待进程进行检查;如果是不安全状态,进程回到等待队列,系统从等待队列中提取等待进程进行检查。系统中申请资源的进程全部进入等待队列等候处理。2环境说明工具:C语言。在WINDOWS环境下使用VC+6.0进行开发。 四、主要的数据结构 数据结构说明:#define MAX_RESO

14、URCE_TYPE 10 定义最大的系统资源类数struct task_struct 进程控制块 int pid; 进程编号 int maxMAX_RESOURCE_TYPE; 进程对资源的最大需求 int allocMAX_RESOURCE_TYPE; 进程已经分配的资源int requestMAX_RESOURCE_TYPE;进程本次申请的资源数;等待队列采用链表结构进行设计。五、课程设计应提交的主要内容1写出实现银行家算法的数据结构、算法和算法流程图。2打印出程序清单。3写出程序调试及运行情况。4写出系统设计中出现的问题及解决的方法。5课程设计的体会。6自我评价与总结。23 主存空间的分

15、配与回收一、设计目的本设计题目主要让大家熟悉主存的各种分配与回收。所谓分配,就是解决多道作业或多进程如何共享主存空间的问题。所谓回收,就是当作业运行完成时,将作业或进程所占用的主存空间归还给系统。主存的分配与回收的实现是与主存储器的管理方式有关的。通过本次设计,帮助学生理解在不同的存储管理方式下,如何实现主存空间的分配与回收。使学生初步具有研究、设计、编制和调试操作系统模块的能力。二、设计要求1问题描述采用可变式分区管理,使用首次或最佳适应算法实现主存的分配与回收。可以采用分区说明表或空闲区链来进行。可变式分区管理是指在处理作业过程中建立分区,使分区大小正好适合作业的需要,并且分区个数是可以调

16、整的。当要装入一个作业时,根据作业需要的主存量,查看是否有足够的空闲空间,若有,则按需求量分割一部分给作业;若无;则作业等待。随着作业的装入、完成,主存空间被分割成许多大大小小的分区。有的分区被作业占用,有的分区空闲。2基本要求设计多个作业或进程动态请求内存资源的模拟系统,使用首次或最佳适应算法实现内存的分配与回收,实现可变式分区管理;设计相应的内存分配算法,定义相关数据结构,以及输出显示每次请求分配内存的结果和内存的已分配和未分配的状况。三、设计思想、环境说明和使用工具1设计思想初始化系统的内存分区说明表;输入当前作业或进程的使用内存情况,检索系统内的内存分区说明表,判断是否可分配,也就是查

17、看是否有足够的空闲空间,若有,则按需求量分割一部分给作业;若无;则作业等待。随着作业的装入、完成,主存空间被分割成许多大大小小的分区。有的分区被作业占用,有的分区空闲。使用内存的分配和回收算法进行,完成所有作业或进程的内存使用请求,作业完成后回收其所占用的内存给系统;并可输出查看内存的当前使用状况。例如,某时刻主存空间占用情况如图3-1所示。(1) 为了说明哪些分区是空闲的,可以用来装入新作业,必须要有一张空闲区说明表,如表3-1所示。操作系统(10KB)作业1(10KB)作业4(25KB)空闲区1(20KB)作业2(45KB)空闲区2(146KB) 图3-1 主存空间占用情况表3-1 空闲区

18、说明表起始地址长度状态45K20KB未分配110K146KB未分配空表目空表目空表目其中,起始地址指出各空闲区的主存起始地址,长度指出空闲区大小。状态有: 未分配:该栏目是记录的有效空闲区。 空表目:没有登记信息。由于分区个数不定,所以空闲区说明表中应有足够的空表目项。否则造成溢出,无法登记。同样,再设一个已分配区表,记录作业或进程的主存占用情况。(2) 当有一个新作业要求装入主存时,必须查空闲区说明表,从中找出一个足够大的空闲区。有时找到的空闲区可能大于作业需求量,这时应将空闲区一分为二。一个分给作业;另一个仍作为空闲区留在空闲区表中。为了尽量减少由于分割造成的碎片,尽可能分配低地址部分的空

19、闲区,将较大空闲区留在高地址端,以利于大作业的装入。为此在空闲区表中,按空闲区首地址从低到高进行登记。为了便于快速查找,要不断地对表格进行紧缩,即让“空表目”项留在表的后部。其分配框图如图3-2所示。(3) 当一个作业执行完成时,作业所占用的分区应归还给系统。在归还时要考虑相邻空闲区合并的问题。作业的释放区与空闲区的邻接分以下4种情况考虑:A释放区下邻(低地址邻接)空闲区;B释放区上邻(高地址邻接)空闲区;C释放区上下都与空闲区邻接;D释放区与空闲区不邻接。首次适应算法回收框图如图33所示。2环境说明工具:C语言。在WINDOWS环境下使用VC+6.0进行开发。 四、主要的数据结构 数据结构说

20、明:#define N 5structfreearea *定义一个空闲区说明表结构,并初始化变量* int startaddress; *空闲区始址* int size; *空闲区大小* int state; *空闲区状态:0为空表目,1为可用空闲块*freeblockN20,20,1,80,50,1,150,100,1,300,五、课程设计应提交的主要内容1写出实现主存的分配和回收程序的数据结构、算法和算法流程图。2打印出程序清单。3写出程序调试及运行情况。4写出系统设计中出现的问题及解决的方法。5课程设计的体会。6自我评价与总结。24 处理机管理一、设计目的在多道程序或多任务系统中,系统同

21、时处于就绪态的进程有若干个。也就是说能运行的进程数远远大于处理机个数。为了使系统中的各进程能有条不紊地运行,必须选择某种调度策略,以选择一进程占有处理机。要求学生设计一个模拟单处理机调度的算法,以巩固和加深处理机调度的概念。二、设计要求1、问题描述处理机管理是操作系统中非常重要的部分。为深入理解处理机调度部分的功能,设计一个按时间片轮转调度CPU的算法,模拟实现处理机的调度。2基本要求时间片轮转调度CPU的算法是分时系统采用的典型算法,把CPU的执行时间分成若干个一定大小的时间片轮流的分配给就绪队列的各个进程,让各就绪进程按指定的顺序分别占用CPU的一个时间片轮流执行下去,直至完成。要求定义进

22、程控制块PCB的结构,并为每个进程任意确定一个要求运行时间和到达时间,按照进程到达的先后顺序排成一个循环队列。设计按时间片轮转的进程调度算法。三、设计思想、环境说明和使用工具1设计思想(1) 假设系统有5个进程,每个进程用一个进程控制块PCB来代表。PCB的格式如图4-1所示。进程名链接指针到达时间估计运行时间进程状态 图4-1 进程控制块其中,进程名即进程标识。链接指针:指出下一个到达进程的进程控制块首地址。按照进程到达的顺序排队。系统设置一个队头和队尾指针分别指向第一个和最后一个进程。新生成的进程放队尾。估计运行时间、到达时间以及进程状态与图3-1中相同。(2) 为每个进程任意确定一个要求

23、运行时间和到达时间。(3) 按照进程到达的先后顺序排成一个循环队列。再设一个队首指针指向第一个到达进程的首址。(4) 执行处理机调度时,开始选择队首的第一个进程运行。另外再设一个当前运行进程指针,指向当前正运行的进程。(5) 由于本实践是模拟算法,所以对被选中进程并不实际启动运行,而只是执行: 估计运行时间减1; 输出当前运行进程的名字。用这两个操作来模拟进程的一次运行。(6) 进程运行一次后,以后的调度则将当前指针依次下移一个位置,指向下一个进程,即调整当前运行指针指向该进程的链接指针所指进程,以指示应运行进程。同时还应判断该进程的剩余运行时间是否为0。若不为0,则等待下一轮的运行;若该进程

24、的剩余运行时间为0,则将该进程的状态置为完成态C,并退出循环队列。(7) 若就绪队列不空,则重复上述的(5)和(6)步骤直到所有进程都运行完为止。(8) 在所设计的调度程序中,应包含显示或打印语句。以便显示或打印每次选中进程的名称及运行一次后队列的变化情况。2环境说明工具:C语言。在WINDOWS环境下使用VC+6.0进行编译及运行。 四、主要的数据结构 数据结构说明: typedef struct pcb *进程控制块定义* char pnameN; *进程名* int runtime; *运行时间* int arrivetime; *到达时间* char state; *进程状态* str

25、uct pcb *next; *链接指针*PCB;五、课程设计应提交的主要内容1写出实现文件管理的数据结构、算法和算法流程图。2打印出程序清单。3写出程序调试及运行情况。4写出课程设计出现的问题及解决的方法。5课程设计的体会。6自我评价与总结。内蒙古工业大学课程设计任务书(一)学院(系):信息学院计算机系 课程名称:操作系统课程设计 指导教师(签名): 专业班级: 软件工程 09 学生姓名: 学号: 一、课程设计题目文件系统的设计与实现二、课程设计的目的通过设计一个小型文件系统,进一步掌握文件管理的方法和技术,使学生初步具有研究、设计、编制和调试操作系统模块的能力。 三、课程设计的主要内容和要

26、求(包括原始数据、技术参数、设计要求、工作量要求等) 原始数据:文件目录项结构体,盘块结构体。 技术参数:Windows XP系统,VC+6.0开发工具。设计要求: 1 设计基于位示图的文件连续分配算法;2 设计显示文件目录、建立文件、显示文件内容、复制和删除文件算法;3 画出以上算法流程图;4 编程实现算法功能;5编写课程设计说明书。 工作量要求:完成以上设计要求中的所有算法功能。四、工作进度安排 周一:布置、讲解题目,收集资料;周二:系统分析,算法设计;周三:编制、调试程序;周四:测试系统,形成设计结论,编写课设报告;周五:系统及材料验收,课设答辩。五、主要参考文献1 张尧学编计算机操作系

27、统教程(第三版)习题解答与实验指导北京:清华大学出版社,20062 汤子瀛主编计算机操作系统(第三版)西安:西安电子科技大学出版社,2001 3 张坤等编操作系统实验教程北京:清华大学出版社,2008审核批准意见系(教研室)主任(签字) 内蒙古工业大学课程设计任务书(二)学院(系):信息学院计算机系 课程名称:操作系统课程设计 指导教师(签名): 专业班级: 软件工程 09 学生姓名: 学号: 一、课程设计题目银行家算法的设计与实现二、课程设计的目的通过银行家算法设计与实现,可以加深学生对死锁的理解,掌握死锁的预防、避免、检测和解除的基本原理,重点掌握死锁的避免方法银行家算法。使学生初步具有研

28、究、设计、编制和调试操作系统模块的能力。 三、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求等) 技术参数: Windows XP系统,VC+6.0开发工具。设计要求: 1 设计银行家算法的核心数据结构、安全性检查算法;2 画出银行家算法流程图;3 编程实现算法功能;4 编写课程设计说明书。 工作量要求:完成以上设计要求中的所有算法功能。四、工作进度安排 周一:布置、讲解题目,收集资料;周二:系统分析,算法设计;周三:编制、调试程序;周四:测试系统,形成设计结论,编写课设报告;周五:系统及材料验收,课设答辩。五、主要参考文献1 张尧学编计算机操作系统教程(第三版)习题解

29、答与实验指导北京:清华大学出版社,20062 汤子瀛主编计算机操作系统(第三版)西安:西安电子科技大学出版社,2001 3 张坤等编操作系统实验教程北京:清华大学出版社,2008审核批准意见系(教研室)主任(签字) 内蒙古工业大学课程设计任务书(三)学院(系):信息学院计算机系 课程名称:操作系统课程设计 指导教师(签名): 专业班级: 软件工程 09 学生姓名: 学号: 一、课程设计题目主存空间的分配与回收二、课程设计的目的通过该课程设计使学生理解在不同的存储管理方式下,如何实现主存空间的分配与回收。使学生初步具有研究、设计、编制和调试操作系统模块的能力。 三、课程设计的主要内容和要求(包括

30、原始数据、技术参数、设计要求、工作量要求等) 原始数据:空闲区说明表结构体。 技术参数:Windows XP系统,VC+6.0开发工具。设计要求: 1 设计基于空闲区说明表的可变分区分配与回收算法;2 或设计基于空闲区链表的可变分区分配与回收算法;3 画出以上算法流程图;4 编程实现算法功能;5编写课程设计说明书。 工作量要求:完成以上设计要求中的所有算法功能。四、工作进度安排 周一:布置、讲解题目,收集资料;周二:系统分析,算法设计;周三:编制、调试程序;周四:测试系统,形成设计结论,编写课设报告;周五:系统及材料验收,课设答辩。五、主要参考文献1 张尧学编计算机操作系统教程(第三版)习题解答与实验指导北京:清华大学出版社,20

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1