通用处理机调度演示程序操作系统设计报告.doc
《通用处理机调度演示程序操作系统设计报告.doc》由会员分享,可在线阅读,更多相关《通用处理机调度演示程序操作系统设计报告.doc(28页珍藏版)》请在沃文网上搜索。
1、设计文档目录 一、 课程设计目的.3二、 需求分析课程设计内容与要求.3三、 系统分析与设计.33.1 系统分析.33.2 系统设计.5四、 系统测试与调试分析.134.1 系统测试.134.2 调试分析.15五、 用户手册.16六、 程序清单.19七、 体会与自我评价.28八、 参考文献.29九、 课程设计评价.29小组分工:张华建(201107070):界面布局的总体设计,静态优先权选择算法的设计,时间片轮转(RR)算法的设计实现,外部文件的信息读取,手动新建就绪队列的实现,就绪进程队列的实现(DataTable数据与GridView的绑定显示),动态表格Table刷新和实时显示颜色块的功
2、能实现,代码规范整合,Timer定时器的使用。周伟鑫(201107071):先来先服务调度(FCFS)算法,最短时间优先调度(SJF)算法,高响应比优先调度(HRN)算法的实现,各算法对应的数据计算,执行队列和已完成进城队列的信息处理,设计文档的编写。备注:一个系统本就是个统一的整体,不是说是哪个模块单独由某人实现,团队的合作本就是对于出现的问题进行共同探讨和解决,况且选择用.NET来做这次的课设项目本就是一次未知的挑战,我们不会用的功能都需要上网查询,只要是想解决的问题,总能找到方法的。一、 课程设计目的操作系统课程是当代计算机软件系统的核心,是计算机系统的基础和支撑,它管理和控制着计算机系
3、统中的所有软、硬件资源,可以说操作系统是计算机系统的灵魂。操作系统课程是计算机专业学生必须学习和掌握的基础课程, 是计算机应用人员深入了解和使用计算机的必备知识, 是进行系统软件开发的理论基础。操作系统是计算机系统的核心系统软件,它负责控制和管理整个系统的资源并组织用户协调使用这些资源,使计算机高效的工作。此次的课程设计所选的题目为“通用处理机调度演示”,所以通过此次课设能够更加理解操作系统中处理机的工作方式,同时在设计不同算法的过程中,也可以明确的知道各种调度算法的使用优劣,视不同的环境条件下,调用不同的算法可也达到比较想要的结果。通过这次的实际操作系统分析设计、编程调试,掌握系统软件的分析
4、方法和工程设计方法,可以提高运用操作系统知识解决实际问题的能力;锻炼实际的编程能力、创新能力及团队组织、协作开发软件的能力;还能提高调查研究、查阅技术文献、资料以及编写软件设计文档的能力。所以说,一次积极地课程设计可以锻炼我们学生的很多能力,当然初衷还是要方法切实以正确的态度来完成课程设计的前提,希望我们可以收获到自己的能力提升.二、 课程设计内容与要求 1、 课程设计内容:设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个,也就是能运行的进程数大于处理机个数,为了使系统中的进程有条不紊地工作,必须选用某种调度策略,在一定的时机选择一个进程占有处理机。要求学生设计一个
5、模拟处理机调度算法,以巩固和加深处理机调度的概念。2、 课程设计要求(多道、单处理机):(1)进程调度算法包括:时间片轮转算法、先来先服务算法、短作业优先算法、静态优先权优先调度算法、高响应比调度算法。(2)每一个进程有一个PCB,其内容可以根据具体情况设定。(3)进程数、进入内存时间、要求服务时间、作业大小、优先级等均可以在界面上设定。(4)可读取样例数据(要求存放在外部文件中)进行进程数、进入内存时间、时间片长度、作业大小、进程优先级的初始化。(5)可以在运行中显示各个进程的状态:就绪、执行(由于不要求设置互斥资源与进程间的同步关系,故只有两种状态)。(6)采用可视化界面,可在进程调度过程
6、中随时暂停调度,查看当前进程的状态以及相应的阻塞队列。(7)有性能比较功能,可比较同一组数据在不同调度算法下的平均周转时间。(8)具有一定的数据容错性。三、 系统分析与设计1、系统分析通用处理机调度演示系统,需要模拟进程调度的五种算法:先来先服务调度算法,短作业优先调度算法,高响应比优先调度算法,时间片轮转调度算法,静态优先权优先调度算法,时间片轮转算法。每个作业包括多个进程,进程可以并发,每一个进程用一个进程类表示,进程类包含如下信息:PCB名称,进入内存时间,服务时间,状态标志,进程大小,内部PCB标志,进程的优先级。既可以用户自己输入相关进程,又可以读取外部文件,能够比较同一组数据在不同
7、调度算法下的平均周转时间和平均带权周转时间。因为多数信息需要在执行过程中进行数据处理和动态显示,要求直观而规范的呈现演示过程。在系统分析阶段,系统的逻辑结构应从以下三方面全面反映系统的功能与性能:(1)信息。在开始界面,用户可以自行选择进程就绪队列的产生方式,既可以自己创建,也可以读取外部文件。其中进程名称,优先级别,服务时间都是必不可少的,创建之初,会自动读取系统时间作为到达时间,当演示开始之时,会相应的读取系统时间作为开始时间,这些信息都会对运行过程中的响应比发生影响,为后面的信息提取做准备.(2)行为。根据要求,如果自己创建进程,也可自行输入进程名称,服务时间,优先级别等信息,点击“创建
8、新进程”按钮,可以提供动态表格的呈现与否,当未完成进程调度算法,在右下侧的区域,点击数据处理按键显示对应算法的平均周转时间和平均带权周转时间。因为采用的Timer计时器的设置,所以每一秒都会定时刷新界面,进而数据变动的模块都会不断的变化,更加直观的显示进程调度情况。(3)表示。用户可以自行演示,点击相应按钮执行操作,其中的RadioButtonList提供多种选择方式,可以根据自己的需要进行选择。同时,采用的.NET设计使界面更加新颖,Table单元格的实时刷新,可以直观的显示算法的调用过程中各个进程的状况,而且数据不断更新,可自行查阅.系统界面布局展示:WELCOME通用处理机调度演示程序登
9、录账号:登录密码:图3-1-1 开始界面调度算法选择执行进程表算法调度动态演示表样例导入退出程序创建新进程运行演示清除所有进程信息图3-1-2 操作主界面(1)就绪进程队列表已完成进程队列表显示数据 图3-1-3 操作主界面(2)2、系统设计:通用处理机调度演示程序时间片轮转调度静态优先权调度高响应比优先调度短作业优先调度先来先服务调度 图3-2-1 系统设计2.1、模块设计:(1)主程序模块:判断所选择的调度算法数据输入方式读取外部文件自己创建进程进程队列分类数据处理模块平均周转时间平均带权周转时间删除所有进程执行队列就绪队列完成队列 图3-2-2 主程序模块显示图(2)先来先服务调度模块流
10、程: 就绪进程队列显示进程信息根据到达时间将最早到达的进程导入到执行队列将执行完的进程信息,写入完成进程队列中就绪队列有记录?YN开始结束图 3-2-3 先来先服务调度算法处理模块(3)短作业优先调度: 就绪进程队列显示进程信息根据服务时间的长短,将最短的进程调入到执行队列将执行完的进程信息,写入完成进程队列中就绪队列有记录?YN开始结束3-2-4 短作业优先调度算法处理模块 (4)高响应比优先调度:就绪进程队列显示进程信息根据Timer 计时器的设定,计算当前状态下的响应比将执行完的进程信息,写入完成进程队列中就绪队列有记录?将最短的进程调入到执行队列YN开始结束 3-2-5 高响应比优先调
11、度算法处理模块(5)静态优先权调度就绪进程队列显示进程信息根据优先权的大小,将最大优先级别的进程调入到执行队列将执行完的进程信息,写入完成进程队列中就绪队列有记录?NY开始结束 3-2-6 静态优先权优先调度算法处理模块(6)时间片轮转调度算法就绪进程队列显示进程信息根据时间片大小,判断执行时间将执行队列的进程信息,写入就绪进程队列的最后一行时间片用完前,执行进程所用时间=服务时间?就绪队列有记录?Y将执行队列的进程信息,写入已完成队列中NYN开始结束 3-2-7 时间片轮转调度算法处理模块2.2、数据结构说明:(1)、进程实体的属性设置:属性值类型表示意义举例取值NameString 进程名
12、称AProrityInt 优先级别4NeedTimeInt服务时间20ArrivalTimeDate到达时间10:14:00StartTimeDate开始时间10:14:07FinishTimeDate完成时间10:14:20RpDouble响应比23.043TurnOverDouble周转时间时间24.44TurnOver2Double带权周转时间5.03(2)、方法/函数的设计:函数名称返回类型功能说明参数说明protected void DataTableCreate();Void 初始化,DataTable的建立方法,包括就绪队列表和完成队列表无protected void Ready
13、PcbOsCreate(string Createtype)Void新建就绪进程的实现方法建表的类型protected void FinishedPcbOsCreate()Void新建完成进程队列的实现方法无protected void RunningPcbOsCreate() Void执行进程的创建方法无protected void Btn_DelPcb_Click(object sender, EventArgs e)Void【删除所有进程】按钮,点击事件无protected void Timer1_Tick(object sender, EventArgs e)VoidTimer 定时器
14、的功能与关联代码无protected void Btn_Import_Click(object sender, EventArgs e)Void样例导入按钮的点击事件无protected void Tab_Show_Create()Void动态演示的建表方法 Tab_Show 的建立无protected string readFile(string path)String#region 文本信息的读取外部文件的绝对路径protected void RefreshRp()Double进程响应比,每一秒都在进行的刷新方法23.043protected void RunningPSel()Doubl
15、e根据所选择的算法,分情况讨论,得到正在运行的进程信息24.44protected void countWaiting() Double判断当前正在运行和等待运行的进程总数5.03(3).补充:我们所使用的数据结构概念是队列,即用在执行进程,就绪进程和完成进程的队列处理,采用遍历算法,选取符合条件的进程信息转移到相应位置,具体转移过程可参考流程判断.2.3、算法流程图:子程序算法(1) 先来先服务算法,根据流程判断得到运行队列的方法新进程到达?点击“运行演示”按钮将新进程加入到就绪队列最后一行YN有进程执行中?Y该进程执行完?将就绪进程队列中的第一行记录,提取到执行进程队列。此行记录删除。Y将
16、执行队列的信息写入完成进程队列中N就绪队列有记录?YN点击“显示平均周转时间和带权平均周转时间”按钮,显示该算法的数据结果重新执行算法?Y结束N开始 图3-2-1 先来先服务执行队列算法 (2)短作业优先算法主要是遍历最短服务时间的进程,根据流程判断设计如下流程,可得到执行队列。【注:】因为最高响应比调度算法和静态优先权算法与短作业优先调度算法只是在判断从就绪队列调用哪一个进程的方法不一样,原理相同,只需要根据其算法遍历查询符合条件的进程然后写入执行队列就好,在此没有必要在写雷同的流程。新进程到达?点击“运行演示”按钮将新进程加入到就绪队列最后一行YN有进程执行中?Y该进程执行完?遍历就绪进程
17、队列,判断得到服务时间最小的进程,提取到执行进程队列。此行记录删除。Y将执行队列的信息写入完成进程队列中N就绪队列有记录?YN点击“显示平均周转时间和带权平均周转时间”按钮,显示该算法的数据结果重新执行算法?Y结束N开始图3-2-2 先来先服务执行队列算法(3)时间片轮转算法先按运行时间给进程排队,冒泡排序(先来先服务算法中已经写过)。获得总服务时间,在图2.3.2中已经写过。进行排队,得到进程队列。将新进程加入到就绪队列最后一行YN有进程执行中?Y时间片执行完?N点击“显示平均周转时间和带权平均周转时间”按钮,显示该算法的数据结果重新执行算法?Y结束N新进程到达?遍历就绪进程队列,提取第一行
18、的数据,写入到执行进程队列。此行记录删除。Y时间片执行完?已用时间 服务时间?Y就绪队列有记录?取出执行队列的数据写入到就绪队列的最后一行取出执行队列的数据写入到完成进程队列中YNNY点击“运行演示”按钮开始图3-2-3 时间片轮转算法(2)四、系统测试与调试分析1、系统测试测试说明测试名称通用处理机调度演示程序测试目的测试通用处理机的五种调度方法测试技术功能测试测试方法黑盒测试测试用例测试内容先来先服务算法测试步骤采用样例3进行测试,测试数据0|A|4|11:17:29|7(0为行索引,A为进程名,4,为优先级别,11:17:29为进程到达的系统时间,7为服务时间)1|B|1|11:17:3
19、0|52|C|7|11:17:32|153|D|7|11:18:35|74|E|8|11:18:49|195|F|1|11:18:59|86|G|3|11:19:20|12预期结果调度顺序:ABCDEFG测试结果与预期相同测试用例测试内容测试短作业优先调度算法测试步骤采用样例3进行测试测试数据0|A|4|11:17:29|7(0为行索引,A为进程名,4,为优先级别,11:17:29为进程到达的系统时间,7为服务时间)1|B|1|11:17:30|52|C|7|11:17:32|153|D|7|11:18:35|74|E|8|11:18:49|195|F|1|11:18:59|86|G|3|11
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通用 处理机 调度 演示 程序 操作系统 设计 报告
