2022年操作系统学习课程设计方案之进程调度 .docx
《2022年操作系统学习课程设计方案之进程调度 .docx》由会员分享,可在线阅读,更多相关《2022年操作系统学习课程设计方案之进程调度 .docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 目录 一 成果评定表 二 任务书 三计目的意义、设计内容 四计方案(软硬件环境,开发工具或语言挑选及思路)五程序功能模块设计(程序功能模块划分及层次等)六程序总控流程图 七数据结构设计 八程序代码结构(函数调用关系或类层次关系)九程序主要代码解读 十测试数据及测试结果 十一设计过程中遇到的问题及解决方法 十二结论(系统实现情形、系统特点、设计体会及收成 等)十三 . 目前资料收集情形(含指定参考资料)名师归纳总结 - - - - - - -第 1 页,共 17 页精选学习资料 - - - - - - - - - 二任务书:课程设计题目模拟进程调
2、度功能的设计与实现年2006 级学院运算机学院专运算机科学与技术专业业级已知参数和设计要求:运用课堂学习的操作系统理论学问,参考操作系统课程里叙述的文件系统有关算 法,用 C、 C+或 JAVA 语言编程,模拟实现一般操作系统的进程调度功能;本课程设计 目的如下: 1 编程实现模拟操作系统进程调度子系统的基本功能;懂得进程调度的概 念,通过课程设计深化明白进程掌握块的功能、进程的创建、删除以及进程各个状态间的转换过程;实现先来先服务、时间片轮转、多级反馈轮转法对 进程进行的调度过程;通过观看有关的队列结构的内容的动态变化过程深化 体会各个调度算法的特点;从而能够更好的巩固从书本上学到的学问;2
3、 编程过程中需要建立队列等结构进行各种操作,通过该次试验,可以督促 同学从有用的角度对数据结构课程内容进行更深化懂得和更娴熟的应用;3 试验编程语言要求使用java 语言或 C+语言;通过对调度功能的编程实现,不但能有效训练同学对编程语言的娴熟使用,仍能促进同学独立摸索解决问题、以及独立查新猎取学问的才能;操作系统课程设计报告要求:按要求格式和纸张写出设计报告,报告正文 内容如下:1、 设计目的意义、设计内容 2、 设计方案(软硬件环境,开发工具或语言挑选及思路等)3、程序功能模块设计(程序功能模块划分及层次等)4、程序总控流程图 4、数据结构设计 6、程序代码结构(函数调用关系或类层次关系)
4、7、程序主要代码解读 8、测试数据及测试结果 9、设计过程中遇到的问题及解决方法 10、结论(系统实现情形、系统特点、设计体会及收成等;)报告字数要求:3000评分标准名师归纳总结 (1)设计报告情形;(2)、运行演示情形;(5)、协作协作情形第 2 页,共 17 页(3)老师质疑回答情形;( 4)、算法难易程度;- - - - - - -精选学习资料 - - - - - - - - - 同学应完成的工作:实现进程调度子系统如下功能模块:1)实现进程相关数据结构(如进程掌握块task_struct )的创建和查看功能;2)实现多种进程调度算法:先来先服务算法、优先级调度算法、时间片轮转法、多
5、级反馈轮转法等;3)实现对执行进程的堵塞,对等待进程的唤醒等功能;4)实现相关队列在进程调度中的动态变化过程;分组要求: 可按班级自由组合小组成员,一组 2-3 人组成;留意:期望同组同学分工明确,团结协作;责部分) ;小组成员及分工情形:由同学填写每位同学需交课程设计报告(主要写自己负目前资料收集情形(含指定参考资料):著作: 1 张尧学 , 史美林 . 运算机操作系统教程第2 版. 清华高校出版社2000 年著作: 2 张尧学 . 运算机操作系统教程第2 版 习题与试验指导.2000 年课程设计的工作方案:课程设计的时间为一周,上机时间共20 学时;工作方案如下:星期一:预备工作,懂得、分
6、析设计要求;总体方案设计,确定组内分工;星期二:程序模块结构设计,模块层次调用关系、模块之间接口商定;星期三:程序设计、模块测试;星期四:程序设计、模块集成;总体测试;写课程设计报告;星期五:完善程序和报告;向老师提交课程设计报告和程序;任务下达日期 2022 年 6 月 20 日完成日期 2022 年 6 月 26 日指导老师(签名)同学(签名)三设计目的意义、设计内容名师归纳总结 - - - - - - -第 3 页,共 17 页精选学习资料 - - - - - - - - - 1编程实现模拟操作系统进程调度子系统的基本功能;懂得进程调度的概念,通过课程设计深化明白进程掌握块的功能、进程的
7、创建、删除以及进程各个状态间的转换过程;实现先来先服务、时间片轮转、多级反馈轮转法对进程进行的调度过程;通过观看有关的队列结构的内容的动态变化过程深化体会各个调度算法的特点;从而能够更好的巩固从书本上学到的学问;2编程过程中需要建立队列等结构进行各种操作,通过该次试验,可以督促同学从有用的角度对数据结构课程内容进行更深化懂得和更娴熟的应用;3试验编程语言要求使用java 语言或 C+语言;通过对调度功能的编程实现,不但能有效训练同学对编程语言的娴熟使用,仍能促进同学独立摸索解决问题、以及独立查新猎取学问的才能;四设计方案(软硬件环境,开发工具或语言挑选及思路等)设计环境平台 : 该软件在 Wi
8、ndows XP,JDK1.6 开发工具 :eclipse+designer 设计思路:1、 进程概念:进程是被独立安排资源的最小单位;进程是动态概念,必需程序运行 才有进程的产生;2、 进程的状态模型:(1)运行:进程已获得处理机,当前处于运行状态;(2)就绪:进程已经预备好,一旦有处理器就可运行;(3)堵塞:进程由于发生某大事而暂停执行,亦即进程的执行受到堵塞;3、处理机调度:在多道程序设计系统中,内存中有多道程序运行,他们相互争夺处理 机这一重要的资源;处理机调度就是从就绪队列中,依据肯定的算法挑选一个进 程并将处理机安排给它运行,以实现进程并发地执行;4、 进程调度算法的功能 记录系统
9、中全部进程的执行情形 挑选占有处理机的进程 进行进程的上下文切换 5、进程调度的算法:(1)先来先服务算法:最先进入等待队列的进程先执行,进程终止后执行下一个 进程;这是最简洁的处理机调度算法,其基本思想是依据进程进入就绪队列 的先后次序调度并安排处理机执行;先来先服务调度算法是一种不行抢占的 算法,先进入就绪队列的进程,先费培处理机运行;一旦一个进程占有了处 理机,它就始终运行下去,知道该进程完成工作或者由于等待某大事而不能 连续运行时才释放处理机(2)优先数算法:即进程的执行次序由高优先级到低优先级;系统或用户按某种 原就为进程指定一个优先级来表示该进程所享有的确调度优先权;该算法核 心是
10、确定进程的优先级;名师归纳总结 - - - - - - -第 4 页,共 17 页精选学习资料 - - - - - - - - - (3)时间片轮转算法:固定时间片,每个进程在执行一个时间片后,轮到下一进 程执行,知道全部的进程执行完毕;处理器同一个时间只能处理一个任务;处理器在处理多任务的时候,就要看恳求的时间次序,假如时间一样,就要 进行猜测;挑到一个任务后,需要如干步骤才能做完,这些步骤中有些需要 处理器参加,有些不需要(如磁盘掌握器的储备过程);不需要处理器处理 的时候,这部分时间就要安排给其他的进程;原先的进程就要处于等待的时 间段上;经过周密安排时间,宏观上就象是多个任务一起运行一
11、样,但微观 上是有先后的,就是时间片轮换; 4 多级反馈轮转法: 把系统中的全部进程分成如干个具有不同优先级别的组,同一组的进程都具有与所在组同样的优先级别,并且把每组进程组织成一个先 进先出的队列;在设计时,按优先级别越高的组中的进程应得时间片越短的 原就安排时间片;在调度时,调度器每次都从优先级别高的就绪队列中队首 挑选就绪进程;当在高优先级别的队列中找不到就绪进程时,才到低优先级 别的就绪进程队列中选取;注:优先数算法时间片轮转法名师归纳总结 - - - - - - -第 5 页,共 17 页精选学习资料 - - - - - - - - - 多级反馈队列调度法五程序功能模块设计1模拟进程
12、调度算法模块界面模块先来进程调度模块多级大事模块优先时间反馈先服数算片轮队列务算法模转算调度法模块法模法模块块块六程序总控流程图名师归纳总结 - - - - - - -第 6 页,共 17 页精选学习资料 - - - - - - - - - 开头创 建 进 程 及 属 性挑选算法先 来 先 服优先数算时 闾 片 轮 转多 级 反 馈 队务算法法法列调度法显 示 进 程 执行状态终止七数据结构设计名师归纳总结 - - - - - - -第 7 页,共 17 页精选学习资料 - - - - - - - - - 本组在实现进程调度算法时采纳了一个有特色的模拟方式线程模拟进程;数据结构设计如下:创建
13、JAVA中的 thread 对象,并将创建好的各个对象放入数据容器 Vector () 中,各个调度算法对个进程的排序,其实就是对 vector 中的 thread 对象排序,打算其执行次序;八程序代码结构(函数调用关系或类层次关系)开头执行 :public class MainThread 弹出程序运行窗口 挑选进程调度算法 comboBox.getSelectedItem=Pri;comboBox.getSelectedItem = T_Slice;comboBox.getSelectedItem = M_FB_Slice 创建进程:从窗体控件猎取相应参数创建进程 list_1, list
14、_2, textField_3.run 对进程进行掌握:堵塞(第一判定有无进程在执行:new RefreshListlist_3, JOptionPane.showMessageDialognull, 已经无进程处于运行状态,请创建进程! ,如有,就终止执,行将执行进程从就绪队列名师归纳总结 - - - - - - -第 8 页,共 17 页精选学习资料 - - - - - - - - - 调入等待队列 : v1 .addElementv2 .get0;v11 .addElement v0 .get0;v2 .remove0;v0 .remove0;list_2 .setListData v1
15、1 ;list_1 .setListData v0 ;);唤醒:将等待队列中的进程重新调入就绪队列的对尾九程序主要代码解读publicvoid run M_FB_Slice if MainForm.algorithm.equalsT_Slice/ System.out.printlnT_Slice;.equalsexecute_T_Slice;refresh; elseif MainForm.algorithm/System.out.printlnM_FB_Slice;executeM_T_Slice;refresh; else execute;refresh; publicvoid refr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年操作系统学习课程设计方案之进程调度 2022 操作系统 学习 课程设计 方案 进程 调度
限制150内