动态优先级调度算法的特点与实现郑镕浩学号:3008202117(天津大学精仪学院测控四班天津300072)摘要:实时调度算法是实时系统中的关键技术。本文在简单介绍了任务调度及调度算法等概念后,详细介绍了根据任务优先级的确定时机对调度算法的分类及其实现方法,其中侧重介绍动态优先级调度算法。第二节通过对静态和动态优先级调度算法的对比,介绍了动态优先级调度算法的特点。第三节通过两种典型动态优先级调度算法的分析及举例,讲述了动态优先级调度算法的具体实现方法。关键词:实时系统;调度算法;动态优先级调度算法DynamicpriorityschedulingalgorithmandimplementationcharacteristicsZhengRonghaoStudentID:3008202117(TianjinUniversity,InstituteofPrecisionInstrument,ProfessionalControl,ClassFour,Tianjin300072)Abstract:Real-timeschedulingalgorithmisthekeytechnologyinreal-timesystems.Thispaperintroducestheschedulingalgorithms,taskschedulingandtheconcept,thedetailsofthetaskpriorityinaccordancewiththetimingoftheschedulingalgorithmandimplementationmethodofclassification,includingspecificreferencetodynamicpriorityschedulingalgorithm.Sectionthroughthestaticanddynamicpriorityschedulingalgorithmcontrast,describesthedynamicpriorityschedulingalgorithmcharacteristics.Sectionthroughtwotypicaldynamicpriorityschedulingalgorithmanalysisandexample,aboutthedynamicpriorityschedulingalgorithmspecificmethod.Keywords:Real-timesystem;schedulingalgorithm;dynamicpriorityschedulingalgorithm1引言实时系统起源于二十世纪中叶,它的出现源于军事发展的需要。当时IBM公司为美国海军和空军开发了飞行模拟系统和防空系统,首次引入时限性要求,实时系统由此诞生。由于它具有及时响应、高可靠性、专用性、少人工干预等优越性能,很快得到了广泛的应用。二十世纪五十年代末期,实时系统被应用到工业过程控制领域。六十年代,实时系统又被引入航天领域。七十年代以来,随着嵌入式技术的飞速发展,实时系统逐渐在民用领域得到广泛应用,时至今日,它已经被广泛应用到了信息通讯、网络传输、媒体处理等各个领域。鉴于实时系统的特点,要求任务调度等实时内核功能精简和高效。任务调度策略是实时系统内核的关键部分,如何进行任务调度,使得各个任务能在其期限之内得以完成式实时操作系统的一个重要的研究领域。调度算法有很多种,如先来先服务调度算法(FCFS)、短作业优先调度算法(SJF)、时间片轮转调度算法(RR),作者简介:郑镕浩(1990~),女,山西人,大学本科生,联系方式:电话15822684029邮箱bulovek@163.com考虑到紧迫性作业进入系统后能得到优先处理,引入了高优先级优先调度算法(PriorityScheduling)。2任务调度概述2.1任务调度的概念实时系统根据其对于实时性要求的不同,可以分为软实时和硬实时两类。硬实时系统指系统要有确保的最坏情况下的服务时间,即对于事件的响应时间的的截止期限是无论如何都必须得到满足。其他的所有有实时特性的系统都可以称之为软实时系统,就是那些从统计的角度来说,一个任务能够得到有确保的处理时间,到达系统的时间也能够在截止期限到来之前得到处理,但违反截止期限并不会带来致命的错误。在多任务系统中,令CPU中止正在运行的任务转而去运行另一个任务的工作叫做任务切换,而按某种规则进行任务切换的工作叫做任务的调度。在多任务的实时操作系统中,调度是一个非常重要的功能,用来确定多任务环境下任务执行的顺序和在获得CPU资源后能够执行的时间长度。实时操作系统不仅要求系统的逻辑正确性,还必须要求系统能在规定的时间内计算出正确的结果并对实时事务进行相应,因此实时系统中的调度算法是决定系统实时性的重要指标。操作系统通过一个调度程序(scheduler)来实现调度功能。调度程序以函数的形式存在,用来实现操作系统的调度算法。调度器本身并不是一个任务,而是一个函数调用,可在内核的各个部分进行调用。调用调度程序的具体位置被称为是一个调度点(schedulingpoint...