您好,欢迎访问三七文档
青岛理工大学操作系统课程设计报告院(系):计算机工程学院专业:软件工程专业学生姓名:班级:_软件101班___学号:题目:采用最低松弛度优先调度的实时系统调度程序起迄日期:___2013.7.8~2013.7.14____设计地点:计算机学院机房指导教师:2012—2013年度第2学期完成日期:2013年7月14日一、课程设计目的...........................................................................................................................3二、课程设计内容与要求...............................................................................................................31、设计内容.............................................................................................................................32、设计要求.............................................................................................................................3三、系统分析与设计.......................................................................................................................41、系统分析.............................................................................................................................42、系统设计:.........................................................................................................................42.1、模块设计:..............................................................................................................42.2、数据结构说明:......................................................................................................42.3、算法流程图:..........................................................................................................5四、系统测试与调试分析...............................................................................................................91、系统测试.............................................................................................................................92、调试分析:.......................................................................................................................11五、用户手册.................................................................................................................................115.1使用平台...........................................................................................................................115.2安装步骤...........................................................................................................................115.3使用步骤...........................................................................................................................11六、程序清单.................................................................................................................................13七、体会与自我评价.....................................................................................................................19八、参考文献.................................................................................................................................19九、课程设计评价.........................................................................................................................19一、课程设计目的在学习操作系统课程的基础上,在完成操作系统各部分实验的基础上,对操作系统的整体进行一个模拟,通过实践加深对各个部分的管理功能的认识,还能进一步分析各个部分之间的联系,最后达到对完整系统的理解。同时,可以提高运用操作系统知识解决实际问题的能力;锻炼实际的编程能力、创新能力及团队组织、协作开发软件的能力;还能提高调查研究、查阅技术文献、资料以及编写软件设计文档的能力。二、课程设计内容与要求1、设计内容在实时系统中,要保证在指定的时间完成指定的任务,通常会采用抢占式的调度方式。要求采用指定的调度算法,使系统中的任务能够按时完成,通过观察中系统中的抢占点,以巩固和加深对实时系统调度算法的理解。2、设计要求1)每一个周期性实时任务必须指定周期长度与执行时间2)可以在界面安排周期性实时任务的个数与相关的指标值,又及要求仿真的时间长度3)系统可又对设定的任务条件进行检查,如果无法满足公式的要求,则弹出相应的错误提示,并重新进入任务安排界面4)可读取样例数据(要求存放在外部文件中)进行周期性实时任务数、周期长度、执行时间的初始化5)采用可视化界面,数据载入后按最低松弛度算法进行调度,可以在运行中动态显示各进程的状态:就绪、执行、完成6)系统上下文切换时,会暂停调度,显示就绪队列中各任务的松弛度,按任意键后自动运行7)具有一定的数据容错性11miiiPC三、系统分析与设计1、系统分析(1)该算法根据实时任务的松弛度来确定任务的优先级,任务的松弛度愈低,其优先级愈高,以使之优先执行。(2)松弛度=必须完成的时间-其本身的运行时间-当前时间(3)要求系统中有一个按松弛度排序的实时任务就绪队列。(4)该算法主要用于可抢占调度方式中,当一任务的最低松弛度减为0时,它便立即抢占CPU,以保证按截止时间的要求完成任务。2、系统设计:2.1、模块设计:2.2、数据结构说明:publicclassprocess{privatestringpname;//进程名privateintperiod;//周期长度privateintcputime;//需要的cpu时间privateintremaintime;//剩余需执行的时间privateintarrivetime;//每个周期的到达时间privateintpnum;//所处周期数privateintlaxity;//松弛度privateintpriority;//优先级主程序所需数据的初始化运行中动态显示各进程的状态,画出调度图}(1)进程名用来标识一个进程(2)周期长度周期性实时任务必须有周期长度(3)需要的cpu时间周期性实时任务必须有每个周期需要的执行时间(4)剩余需执行的时间用来判断是否发生抢占,假设在按松弛度排序的就绪队列中,任务a松弛度最小,任务b次之,若任务a需要的cpu时间大于任务b的松弛度,则在任务a的这次调度中会发生抢占,则任务a该周期的剩余需执行的时间大于0,反之,剩余需执行的时间等于0时,则这次调度过程中不会发生抢占。(5)每个周期的到达时间用来进行排序,系统要求有一个按松弛度排序的实时任务就绪队列,若松弛度相同,则按到达时间排序。(6)所处周期数对于周期性实时任务,应该有所处的周期数,其次,计算松弛度时算任务必须完成的时间可以用所处周期数和周期长度相乘得到。(7)松弛度最低松弛度优先调度算法肯定要求计算松弛度。(8)优先级同样也是为了排序使用,在松弛度和到达时间都相同的时候,按固定的优先级进行排序,优先级在添加实时任务时动态生成。2.3、算法流程图:1、数据初始化1.1界面直接添加1.2从文件中读取数据周期性实时任务数是否为空输出:请输入周期性实时任务的个数所添加任务数是否小于周期性实时任务数输出:超出个数限制new一个process实例,添加到实时任务数组pro中,然后将该任务在两个listview中显示所添加任务数是否等于周期性实时任务数判断系统是否可调度清空实时任务名,周期长度和执行时间三个输入框是否否是是2、动态显示各进程的状态和画出调度图找到需要的文件,点击打开读取文件内容,new出process实例,添加到数组,同时在两个listview中显示判断系统是否可调度把listview2的备注一栏清空初始化一些变量,实例化sortpro,然后对sortpro进行排序找到已到达的松弛度最小的任务,如果所以任务都没到达,flag=falseflag是否为true找到松弛度最小和次小的任务,计算duration,并对其加以限制,修改本次被调度进程的remaintime画出本次调度的图形,修改curtime的值根据remaintime的值修改本次被调度进程在listview2中的显示信息,更改本次被调度进程的相关信息重新计算所有任务的松弛度,更新未被调度的进程在listview2中显示的信息当前时间大于或等于要求仿真的时间长度停止计时,显示调度完成四、系统测试与调试分析1、系统测试测试方法:黑盒测试测试技术:功能测试它是从使用者的角度来编写的,它关注系统提供的功能特征及其不同的处理条件;测试功能的不同处理流程(包括正常处理的
本文标题:最低松弛度优先
链接地址:https://www.777doc.com/doc-4435963 .html