论文部分内容阅读
随着嵌入式工业的不断成熟与发展,在线监测与故障诊断智能化仪器的开发已经成为了嵌入式工业的一个重要的应用领域。实时嵌入式工业监控系统作为嵌入式系统的一个分支,除了具有所有嵌入式系统普遍存在的资源受限等特点外,其自身还对系统的可靠性和实时性有着更高的要求。为满足实时嵌入式工业监控系统中任务的时限要求,需要在操作系统这一软件层次上,提供面向实际系统的,具有高可预测性的任务调度算法。 本文首先提出了一个实时嵌入式工业监控系统的结构模型,分析了这一模型中主要功能模块的实时特性与需求。在此基础之上,从嵌入式系统特点和工业监控系统的应用特点两个方面提出了这个系统的整体实时需求。根据对实际系统的分析结论,我们从实时调度算法的功能角度提出了为实时嵌入式工业监控系统选择和设计调度算法需要遵循的主要原则,并在此原则指导下,选择了时限单调算法作为本系统的主调度算法并陈述了选择的理由。 理想的时限单调算法具有很多不符合系统客观特性的假设,例如任务间无资源共享,任务间无逻辑依赖关系,系统开销为零等。这些假设的存在使得在实际系统中,理想算法可调度判定的准确性大大降低。 本文利用Lui Sha等人提出的优先级置顶协议对理想时限单调算法进行了扩展,扩展后的算法能够解决资源共享所带来的问题。在此基础上,本文提出了一个实时系统的进程状态转换模型,分析了状态转换过程中可能引发调度的事件,基于Katcher等人提出的集成中断事件驱动调度机制,详细分析了调度过程中的开销情况,并对前面步骤得到的可调度判定进一步扩展,使得新的判定能够处理调度与切换开销对可调度性的影响。 本文还提出了一种任务分割策略,该策略可以把一个任务根据需要分割成若干个子任务。对于系统中部分任务会长时间占用共享资源的情况,采用这种分割策略可以有效的改善高优先级任务通过可调度测试的可能性。同时任务分割策略还可以处理任务实际重要性与算法分配的优先级不对应的问题。 利用上述技术扩展后的时限单调算法在保持了原算法的特性的同时,也能够处理诸如资源共享和调度切换开销等实际问题。得到的扩展判定摆脱了理想算法的部分假设,能够为复杂的任务系统提供实时可调度保证。