复杂实时应用系统设计实现的关键技术研究

被引量 : 4次 | 上传用户:drake0266
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
复杂实时应用系统的成功设计与实现依赖于底层操作系统调度、资源管理机制的支持以及满足关键实时任务资源充分可预知性的编程语言方面的支撑。对于调度问题,理论上,混合动态优先级调度、支持用户级的带宽预留等算法提供了混合调度的最好方法,但是,目前所有实时操作系统均没有提供和实现上述机制。对关键任务的资源充分可预知性实时要求,普通Java平台没有提供任何解决问题的技术手段。本文研究支持复杂实时应用系统设计实现的上述关键技术和实现方法。在操作系统层面上针对多种类型混合任务集调度提出调度策略并在开源嵌入式实时操作系统中设计和实现混合调度算法与资源管理协议,达到复杂实时应用系统硬实时周期任务满足截止期前提下,软实时非周期任务调度性能提升的整体优化调度目标。在编程语言层面,基于普通Java平台,设计实现实时Java中间件组件并给出控制垃圾回收器GC启动时机的方法,实现普通Java平台下线程的可预测运行目标。本文提出基于服务器方式的混合任务集集成调度策略,给出该策略分层调度的设计思想和混合集成调度框架。该策略底层以操作系统内核调度算法(EDF算法最优)调度应用服务器,各应用服务器分层支持多种单一类型的实时调度算法,整体上形成支持混合任务集调度的集成调度框架。在混合调度策略设计实现上,针对静态优先级抢占调度策略的开源操作系统μC/OS-Ⅱ,首先,以不修改内核的用户级调度服务器方式实现了动态优先级EDF算法,其次,提出基于截止期和关键性双参数混合优先级实现分层混合任务调度算法EDIF的设计思想,其中关键性参数作为区分硬实时和软实时任务的分层信息。文中定义了可接受调度概念,给出EDIF调度模型,理论分析了算法的可调度性条件。EDIF算法在μC/OS-Ⅱ中以扩展内核数据结构,修改内核调度器和相关内核函数的方式设计实现。针对开源操作系统RTLinux硬实时任务重载时软实时任务长期得不到响应性能急剧下降问题,本文实现了基于比例带宽服务器(PDBS)的混合任务调度算法。该算法将任务按类型分别存放于不同的队列,不同类型的任务由绑定了处理器比例带宽的应用服务器调度,各应用服务器按比例共享处理器带宽。PDBS实现方法是:扩展内核结构,将RTLinux单一任务队列改为硬实时任务和软实时双任务队列,任务队列间按本文提出的比例带宽服务器容量计算公式计算分配的处理器时间,内核调度器对硬实时任务队列和软实时任务队列进行比例时间片轮转调度。文中给出调度器核心函数和定时器中断处理函数和一些接口函数和相关处理函数的设计实现过程。另外,本文针对工业界广泛应用的开源嵌入式实时操作系统μC/OS-Ⅱ不支持同优先级任务调度和优先级继承协议的问题,修改μC/OS-Ⅱ内核结构,设计、实现了支持同优先级任务调度的优先级驱动/轮转混合任务集分层调度算法并在其中实现了所有抑制优先级反转的实时设计模式。在普通Java平台实时中间件设计方面,设计目标是确保关键实时线程的运行可预测性。针对等待访问共享资源的Java多线程的不确定性唤醒问题,开发了一个Java实时中间件组件,当共享资源就绪时,该组件可严格按优先级顺序唤醒等待访问共享资源的线程,确保线程按优先级顺序的可预测运行,实现的方法是设计以等比映射扩展了优先级数的可调度类,创建访问共享资源线程的同时为该线程创建一个线程代理,其中包含了所代理线程的唤醒用优先级信息,线程代理集合类负责管理等待访问共享资源的多线程,线程的唤醒按优先级高低顺序在代理集合类中实现,对低优先级Java线程出现的活锁问题,引入实时调度算法LRT动态调整线程优先级,给出了相应的设计和实现方案;针对GC不定期启动影响线程运行可预测性问题,提出周期性提升GC优先级,提前调度GC的解决方案。实现方法是将线程优先级按线程任务的重要程度分为两个等级:关键线程和非关键线程,以虚拟机内存达不到饱和的程度为依据,给出垃圾回收的周期上限TGC计算公式,在运行时间最长不超过TGC的时间内提升GC的优先级为非关键线程的最大值,从而使GC在不影响关键线程运行的情况下能提前回收内存中的垃圾,达到提高通用环境下Java关键线程执行可预测性和实时性能的目的。理论分析和实验结果表明:在新μC/OS-Ⅱ内核中,EDIF分层调度策略、算法设计实现正确、有效,系统超载时(所有任务总处理器利用率>100%),满足所有硬实时关键任务截止期,软实时非关键任务并不丢弃,而是延迟调度执行,软实时非关键任务完成率大幅度提升了24%,混合任务集整体调度性能优良;在新RTLinux内核中,PDBS算法解决了硬实时任务重载时混合实时任务集调度中软实时任务调度性能的有效提升问题;本文开发的实时Java组件中,优先级等比例映射扩展了普通Java线程优先级数,可明确按扩展优先级唤醒大量等待访问共享资源的线程,达到了Java高优先级关键线程优先访问临界资源、运行可预测的设计目标,通过设计实现优先级动态调整算法,可以有效解决按优先级唤醒的Java中间件活锁问题;周期性提升GC优先级至非关键线程优先级的上限,使GC在不影响关键线程的情况下能提前回收内存中的垃圾,消除了GC对关键线程的不可预测运行延迟。在特定开源操作系统中实现EDIF和PDBS算法验证了基于服务器方式的混合任务集集成调度策略和框架的可行性,为开源实时操作系统μC/OS-Ⅱ和RTLinux支持复杂实时应用系统的设计实现提供了有力的底层技术支撑,Java实时中间件的设计实现为基于网络的Java软实时应用奠定了技术基础。
其他文献
钢铁联合企业生产结构中,炼铁工序是钢铁企业的能耗大户,炼铁能耗约占钢铁生产总能耗的70%以上,生铁成本的高低对钢铁工业的发展具有举足轻重的作用。目前高炉炼铁工艺面临的
目的:骨盆骨折多为高能量损伤所致,伤后可出现骨盆旋转及垂直方向的不稳定,通常伴有严重的软组织损伤及大量失血形成的血流动力学的不稳定。骨盆外固定架的应用是复苏阶段非常有
据周作人日记记载,绍兴人早在1900年以前,已经能够欣赏到“莲花落”这一曲艺形式。但可靠记载有名有姓的缘起,不得不感谢“长手指甲”张艺人,他在绍兴卖唱,并收了“上虞菘厦沈阿发
报纸
由于具有高的禁带宽度、高的临界击穿电场和热导率、小的介电常数等特性,使得碳化硅(SiC)在蓝光发光二极管(LED)、复合材料增韧补强、场发射阴极制造、光催化等领域展现出巨大
本文提出一种无线自组网络的设计和应用方法,目的是解决当前应急通信中存在的易干扰、快速部署困难、难以同时传送现场高清视频、语音通话及IP数据等问题。本文通过对无线自
习近平总书记指出,马克思主义就是我们党和人民事业不断发展的参天大树之根本,就是我们党和人民不断奋进的万里长河之泉源;不了解、不熟悉马克思主义基本原理,就不可能真正了解和
报纸
第一部分门静脉压力对术后肝功能衰竭的预测作用研究背景和目的:Child-Pugh A级伴临床显著门静脉高压(clinically significant portal hypertension, CSPH)的病人肝切除术后易
目的:比较两种综合疗法对于肘关节骨化性肌炎临床症状、体征的预防效果,初步探讨此法预防肘关节骨化性肌炎的作用机制。方法:无论是试验组还是对照组,肘关节脱位的复位方法及外
不够稳定和报价易被操纵是Shibor基准利率地位的两个主要挑战。本文结合ARJIGARCH模型构造了一种较新的可以检测更轻微羊群行为的方法,在此基础上,基于2007到2017年Shibor报
为了给长春及周边地区鹅大肠杆菌病提供可行用药方案,本研究采集230份疑似大肠杆菌病患鹅的心、肝、脾等组织,进行病原学检测。经过分离培养、纯培养、显微镜镜检、生化试验