操作系统课程设计报告模板.doc_第1页
操作系统课程设计报告模板.doc_第2页
操作系统课程设计报告模板.doc_第3页
操作系统课程设计报告模板.doc_第4页
操作系统课程设计报告模板.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统课程设计中文题目英文题目设计报告作 者:学生1 学生2 学生3 学生4 学生5指导教师:李新荣团队照片口号:操作系统课程设计任务书设计目的:本课程设计是学生学习完操作系统课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。设计时间:两周。设计要求:1每5人组成一个团队,每个团队开发一个操作系统内核,内核具有传统操作系统的基本功能,包括:处理机管理、内存管理、设备管理、作业管理、用户接口等。每部分的算法可根据需要简单或复杂。2课程设计做完后,按组进行验收和答辩,验收和答辩合格后,给出相应的成绩。3每个团队写一份课程设计报告,要在报告中写明分工情况。4课程报告要按照模版撰写,报告中要写明:(1)软件功能描述(2)界面说明(3)程序处理流程(4)任务的定义及实现(5)调试过程中遇到的问题和解决的方法(6)进一步改进方案和应用建议(7)使用说明书设计步骤:1选定题目,每组提交设计方案(初期检查);2项目中期检查,每个团队提交中期检查报告,写出目前开发状况;3项目验收和答辩。成绩评定:课程设计成绩按100分制计算,评定的依据有考勤、设计文档资料、项目验收和答辩四个成绩组成。总成绩=考勤*10%+设计文档*30%+项目验收*40%+答辩*20%。提交的资料:课设完成后要提交项目的设计方案、用户手册、源程序等内容,课设提交具体内容见下面的清单:课设提交内容清单内容详细说明提交清单.txt建议提交内容按照类别存放在不同的目录中,请按照存放路径说明文档存放情况,便于文件管理。用户手册.doc说明系统运行环境,系统配置要求,系统配置方法和系统配置步骤。开发文档(设计报告).doc建议总字数控制在10000字左右,包括系统方案、功能与指标、实现原理、硬件框图、软件流程、系统测试方案、测试设备、测试数据、结果分析、实现功能、特色等。源程序电子文档代码规范,注释详细,代码冗余少。电路图图例清晰,标识详细,规范。应用程序用于下载到平台运行的最终可执行程序。数据系统运行需要用到的所有数据,以保证系统运行。团队介绍.doc系统名称,团队成员,指导教师,联系电话,联系邮件,所在班级等;团队口号:20字左右,展示团队风采。团队照片.jpg体现团队风采的一张数码照片答辩.ppt每组答辩时所作的ppt注:(1)开发文档交打印版,提交完整的设计报告。(2)刻光盘:以上所有内容均放到光盘中,每组一分提交时间:12月18号摘要在计算机网络高速发展的今天,计算机技术不断地更新与完善,无论是硬件还是软件的变更都会在计算机操作系统的设计技术与使用风格上得到体现。操作系统是计算机系统配置的所有软件中使用最广泛的基础软件,它在整个计算机系统软件中处于中心地位,也是计算机专业课教学中做重要的环节之一。从操作系统自身角度讲,它不仅很好地体现了计算机日益发展中的软件研究成果,而且也较好地体现了计算机的硬件技术发展及计算机系统结构的用户界面环境。 我们团队共同开发一个简单的操作系统内核,内核具有传统操作系统的基本功能,包括:内存管理、处理机管理、设备管理、作业管理、用户接口五方面,每部分的算法都由小组成员独立完成。关键词: 首次适应算法、最佳适应算法、引导扇区、调度目 录摘要5第1章 绪 论71.1课题研究现状分析71.11理论研究基础71.12技术层面的支持7第2章 系统方案82.182.28第3章 功能与指标83.1通过引导扇区进入系统83.2 成功进入系统后显示成功提示字符83.3 进入系统后所支持的操作8第4章 实现原理84.1 操作系统实现基本原理8第5章 系统实现8第1章 绪 论课程设计是现代操作系统课程教学必不可缺的一个重要环节,可加深学生对该课程所学内容的进一步的理解与巩固,是将计算机课程与实际问题相联接的关键步骤。通过课程设计,能够提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力,因而必须给予足够的重视.此次课程设计让大家更加体会到团队的可贵性,让大家挑战一个极限,努力去完成的自己的那部分任务,从中又让大家更好的去学习自己不会的东西。1.1课题研究现状分析1.11理论研究基础 (1)对于内存管理的各种算法的学习,例如:(本次设计用到的)首次适应算法、最优适应算法 (2)对处理机的管理涉及到作业与作业调度、进程调度、实时调度、死锁发现与解决等问题的研究(3)对设备管理,我们主要研究的是存储器、内存与硬件之间的和谐使用(4)对作业管理主要研究作业的后备、运行和完成三种状态,期间涉及到先来先服务和短作业优先调度算法、优先级调度算法和高响应比优先调度算法(5)对于接口方面涉及到以上五个研究,它将每个研究模块紧密联系起来,最终形成一个统一的完整的操作系统1.12技术层面的支持 (1)通过参考资料对算法的进一步学习和实现。(2)主要技术是通过研究一个操作系统的实现和汇编语言的学习(3)通过C语言和汇编语言,完整最终代码(4)(5)第2章 系统方案设计2.1 内存管理设计 此次内存管理的设计采用离散式的分配方式,使用其中分页存储管理方式。 分页式存储管理方式: 分式存储管理方式将进程的地址空间,分成若干页,并为各页加以编号,从0开始。相应的也把内存空间分成若干个块,同样为他们编号,如0#块。再为进程分配内存时,以块为单位,将进程中的若干页,分别装入到多个可以不相邻接的物理块中。 页表的实现机制: 2.2 处理器设计 处理器管理或称处理器调度,是操作系统资源管理功能的另一个重要内容。在一个允许多道程序同时执行的系统里,操作系统会根据一定的策略将处理器交替地分配给系统内等待运行的程序。一道等待运行的程序只有在获得了处理器后才能运行。一道程序在运行中若遇到某个事件,例如启动外部设备而暂时不能继续运行下去,或一个外部事件的发生等等,操作系统就要来处理相应的事件,然后将处理器重新分配。首先,CPU的内部结构可以分为控制单元,逻辑运算单元和存储单元(包括内部总线及缓冲器)三大部分。CPU的工作原理就像一个工厂对产品的加工过程:进入工厂的原料(程序指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储单元)中,最后等着拿到市场上去卖(交由应用程序使用)。在这个过程中,我们注意到从控制单元开始,CPU就开始了正式的工作,中间的过程是通过逻辑运算单元来进行运算处理,交到存储单元代表工作的结束。 CPU工作时会有数据和指令不断与处理机进行交换,如:数据与指令在CPU中的运行 。 数据从输入设备流经内存,等待CPU的处理,这些将要处理的信息是按字节存储的,也就是以8位二进制数或8比特为1个单元存储,这些信息可以是数据或指令。数据可以是二进制表示的字符、数字或颜色等等。而指令告诉CPU对数据执行哪些操作,比如完成加法、减法或移位运算。 另外,CPU每执行完一条指令就去扫描中断寄存器,检查是否有中断发生,若没有中断就继续执行下条指令;若有中断发生就转去执行相应中断处理程序。中断处理过程可粗略的分为以下四个过程:1. 保护当前正在运行程序的现场;2.分析是如何中断,以便去执行相应的中断处理程序;3.执行相应的中断处理程序4.恢复被中断程序现场所为硬件的核心处理器承担的工作无疑是繁重的,能否更好地处理好处理机的调度关系到整个系统的效率问题。用处理机调度应避免死等、死锁等问题,对于此类问题应加以重视。2.3 设备管理设计 (一)缓冲管理:1.缓冲管理的基本思想 缓冲管理的基本思想是在CPU和外围设备之间建立缓冲区,用于暂存CPU和外围设备之间交换的数据,从而缓和CPU和外围设备速度不匹配所产生的矛盾。同时,缓冲区的使用使得一次输入的信息能够多次使用。2.缓冲池中缓冲区的结构 为了能够深入讨论缓冲池的管理,先来了解缓冲池的结构。通常缓冲池包含多个缓冲区,而每一个缓冲区又由两部分组成,一部分是缓冲首部,它用来标识该缓冲器和用于管理,而另一部分是缓冲体,它用于存放数据,且这两部分存在一一对应的映射关系。对缓冲池的管理是通过对每一个缓冲器的缓冲首部进行操作来实现的。 缓冲池中缓冲区的结构如图5-7所示,其中缓冲首部包括设备号、设备上的数据块号(对于块设备而言)、互斥标识位以及缓冲队列连接指针和缓冲器号等。 图-缓冲池中缓冲区的结构设备号数据块号互斥标识位连接指针缓冲器号缓冲体3.缓冲池的缓冲区队列 缓冲池中有3种类型的缓冲区,即空白缓冲区(empty)、装满输人数据的缓冲区(in)、装满输出数据的缓冲区(out)。根据这3种类型缓冲区被分别建立在3种不同的缓冲区队列: 空白缓冲队列em,其队首指针为F(em),队尾指针为T(em); 装满输入数据的输入缓冲队列in,其队首指针为F(in),队尾指针为(in); 装满输出数据的输出缓冲队列out,其队首指针为F(out),队尾指针为(out)。如下图-缓冲区队列F(em)F(em)F(em)T(em)(in)(out) 4.缓冲池的工作缓冲区 除了三种缓冲队列之外,系统(或用户进程)从这三种队列中申请和取出缓冲区,并用得到的缓冲区进行存数、取数操作,在存数、取数操作结束后,再将缓冲区放入相应的队列。通常,这些缓冲区被称为工作缓冲区。因此,在缓冲池中,有4种类型的工作缓冲区,即: 用于收容设备输入数据的收容输入缓冲区(hin)。输入进程要想输人数据时,从空缓冲队列中摘取一个空的缓冲区,作为收容输入工作缓冲区,提供给输入进程往里装入输入的数据,装满后插入到装满输人数据的缓冲区队供计算进程消耗。 用于提取设备输入数据的提取输入缓冲区(sin)。计算进程需要数据时,从装满输入数据的缓冲队列中摘取一个缓冲区,作为提取输入工作缓冲区,将此缓冲区的数据提取完后,它变成了空缓冲区,然后将其插入到空缓冲队中。 用于收容CPU输出数据的收容输出缓冲区(hout)。当计算进程需要将计算结果输出时,从空缓冲队列中摘取一个空缓冲区,作为收容输出缓冲区,计算进程将计算结果放入其中,装满后将其插入装满输出数据的缓冲队中。 用于提取CPU输出数据的提取输出缓冲区(sout)。当输出进程要想输出数据时,从装满输出数据的缓冲区队列中摘取一个装满输出数据的缓冲区,输出进程从中输出数据,输出结束后,将其插入到空缓冲队列中。缓冲池缓冲区(hin)缓冲区(sout)缓冲区(sin)缓冲区(hout)收容输入提取输入收容输出提取输出外围设备CPU 缓冲池的工作缓冲区如图所示2.4 用户接口设计 为了使用户能方便的使用计算机,操作系统提供了相应的用户接口,帮助用户快速、有效、安全可靠地操纵计算机中的各类资源,完成相应处理。为了方便与用户交互,通常把命令解释程序放在用户层,以用户态方式运行。在练级操作方式下,中断处理程序把用户键入的信息送键盘缓冲区缓存。一旦用户键入回车符,便立即把控制权交给命令解释程序。显然,对不同的命令,应有完成特定功能的处理程序与之对应。可见,命令解释程序的主要作用是,在屏幕上给出提示符,请用户键入命令,然后读入该命令,识别命令,再转到相应的处理程序的入口地址,把控制权交给该处理程序去执行,并将处理结果送屏幕显示。若用户键入的命令有错,而命令解释程序未能予以识别,或在执行中间出现问题时,则应显示出某一出错信息。命令解释程序的工作流程如下图所示: Shell解释程序工作流程: 读入用户键盘输入的命令,户键入的信息送键盘缓冲区缓存。一旦用户键入回车符,表示本命令已结束,于是系统立即把控制权交给命令解释程序。 命令解释程序从缓冲区中读取用户输入的命令,对命令进行分析。 重点进程调用fork,为二叉树命令行树中的每一条命令,建立相应子进程。 等待子进程完成。对于“;”型节点,须在其左子树完成后,故终端进程本省需要调用系统wait4(),来等待子进程完成,档子进程调用execve(),子进程根据文件名(即命令名),到目录中查找文件,将他调入内存,执行这个程序;档子进程完成处理后终止,向父进程报告,此时终端进程醒来,在做必要的判别后,继续处理下一条命令,重复上述过程。 对于“&”型节点,在启动左子节点执行后,因它是台命令,不需要等待,因此终端进程不用系统调用wait4(),而是再执行其右子树。Shell基本执行过程及父子进程之间的关系如下图所示: 2.5 作业管理设计 1算法思想调度是操作系统的根本功能,不同的系统采用的调度算法不尽相同。各个调度算法的设计思想如下:先来先服务算法:从文件中将作业的JCB各项数据读入到相应数组中,然后利用作业的到达时间arrivetime10进行升序排序,并相应调整各个数组的数据,然后输出各项信息。短作业优先算法:从文件中将作业的JCB各项信息读入到相应数组中,然后利用作业的作业的所需运行时间resquesttime10进行升序排序,调整相应数据信息。然后计算作业的其他信息,输出到屏幕上。 高响应比算法:从文件中将作业的JCB各项信息输入到相应数组中,然后对作业的到达时间arrivetime10进行遍历,取得最小值,即最先到达的作业,首先被执行。将最先到达的作业移到数组的第一项,然后执行高响应比算法,高响应比算法是首先求出为执行作业的等待时间,存数数组waittime中,然后按根据为执行文件的响应比,取得响应比最大的未执行作业,将该作业的JCB信息,存到数组中, 接着循环以上步骤,直至执行完所有的作业。2选择调度算法的原则()选择的调度算法应与系统的整个设计目标一致()注意系统资源的均衡使用()平衡系统和用户的要求。3程序具体实现方案(1)在数据结构上选择单向链队,即后备作业队列的每个结点表示一个作业块,每个作业块即JCB包含如下信息:作业名,到达时间,所需时间,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论