论文部分内容阅读
随着安全性关键(Safty-Critical)实时嵌入式系统的迅速普及和应用,产品成本的要求日益严苛,在同一硬件平台上开始集成越来越多关键性不同的的功能和组件,系统的结构趋于复杂。这种集成化的发展,同时还带来功耗高、空间占用大,和不便于维护等问题,使得诸如航空航天器、核反应堆控制系统及金融在线贸易系统等混合临界系统的设计和开发面临巨大的挑战,其中尤以任务调度最为突出。在调度混合临界系统中任务的时候不仅要保证安全性关键级任务能够通过非常严格的认证,还要考虑因认证过程中悲观处理而可能出现的系统资源浪费问题。当前关于混合临界系统的研究大多是基于双重关键级状态,没有考虑任务的关键级超过三个的情况。当高关键级任务的执行时间需求增加时,系统抛弃相对低关键级任务以确保高关键级任务的执行,这种处理方法太过于消极,实用性较差。针对这些问题,本文从多个方面深入研究,主要的工作内容如下:首先,由于现有的实时系统关键级状态往往不止两个,而当前基于响应时间分析的混合临界系统任务调度模型是双重关键级状态,关于多重关键级混合临界系统任务调度的响应时间分析并没有一个很准确的分析方法。本文详细分析了现有的响应时间分析算法AMC,在此基础上系统增加一个关键级,分析中间关键级状态任务的响应时间,由此得到多关键级状态下处于最高和最低关键级之间所有关键级任务的响应时间分析,从而将研究范围扩展到多关键级状态,提出了基于响应时间分析的多关键级调度算法,很好地解决了这个问题。其次,在传统混合临界系统中,当系统关键级由于某种机制触发导致系统关键级模式提高后,系统中低于系统关键级的任务会被无限期挂起,不予执行,直到系统关键级初始为低关键级状态。这样消极的处理方式无法保证一些关键级较低但对系统很重要的任务的执行,即无法保证低关键级任务的服务质量。针对这一问题本文借鉴弱硬实时的概念,提出了具有弱硬实时约束的多重关键级混合临界调度算法。在系统关键级模式提高以后,规定丢失的低关键级任务不能超过一定的比例,从而达到积极处理低关键级任务的目的。这种算法是算法FPPS和算法AMC之间的折中,能很好地保证多重关键级混合临界系统中低关键级任务的服务质量(QoS)以及为系统中处于高关键级模式下的低关键级任务的可调度性提供有效的性能权衡。最后,在实验中与目前的基于响应时间分析的混合临界系统任务调度算法进行性能对比,来验证算法在分析任务响应时间方面的改进性。