Linux实时化的内核关键技术研究

来源 :华南理工大学 | 被引量 : 0次 | 上传用户:greenman
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
未来的实时系统将具备多种能力,包括分布式处理、多媒体处理、实时控制、后台信息处理等。这类实时系统将在未来的信息社会中发挥着更为重要的作用,成为最主要的应用之一。它最主要的特征是需要处理各种类型的实时任务,如实时控制等硬实时任务、以多媒体为代表的软实时任务,以及信息显示等非实时任务。因此,底层操作系统不仅需要提供丰富的系统功能,还需要具备较好的实时支持能力,为各种类型任务提供有效的资源调度支持。然而传统的通用操作系统,如UNIX,Windows,Solaris,虽然具备丰富的系统功能,但资源管理的目标是提高资源利用的公平性和有效性,对所有应用均采用最好服务(best-effort)的支持方式,没有针对硬实时任务和多媒体任务的特征进行专门的有效的支持。另一方面,传统的实时操作系统虽然具备很好的实时响应能力,但系统功能单一,不能满足新型实时系统发展的需要。 为此,业内提出了两种解决方案:(1)设计一个全新的多媒体操作系统,提供对硬实时任务、多媒体等软实时任务、以及其他传统非实时任务的全面支持;(2)基于通用操作系统进行实时化改造,以满足应用发展的需要。由于方案一需要较长的开发时间,而方案二所需的时间和成本都较低,因此可以作为支持未来实时系统的过渡方案。目前,针对通用操作系统的实时化研究已经得到了较多关注,例如基于Windows NT和UNIX等。Linux凭借强大的网络功能、丰富的系统功能以及可裁减定制等特点,已经成为实时领域越来越重要的操作系统之一。许多国内外大学和研究机构均开展了增强Linux实时性的研究和改造工作,并出现了一些比较有代表性的实时研究项目,如RT-Linux、RTAI、RED-Linux和Kurt-Linux等。本文所从事的基于Linux的实时操作系统研究正是在这样的背景下产生的。 针对Linux应用于实时领域存在的问题,包括核心服务不可控、时钟粒度和调度粒度粗糙、不能为硬实时任务和多媒体任务提供有效的调度支持,本文的主要工作包括: 1、实现中断服务的进程化。作为Linux最主要的核心服务之一,中断服务并没有相应的进程体,导致了服务的不可控性,以及内核延迟不确定性的增加。这与实时应用要求的可确定性相违背。为此,本文借鉴ART Linux和微内核体系结构的服务进程思想,基于现有的Linux“核心线程”技术,实现了中断服务的进程化,使得该服务在调度层面上可见,从而增强其可控性和可预见性,大大降低内核不确定延迟。 2、提出一种改进的微秒级时钟管理机制RT-TIMER。Linux内核实现的是10ms级的时间粒度,这种级别的时间粒度可以很好地满足非实时应用的需求,但无法满足实时任务微秒级的定时需求以及微秒级的抢占调度需求。为此,本文提出了一种改进的时钟管理机制RT-TIMER,不但满足了实时任务的定时需求,提高了任务的抢占调度精度,而且为用户提供了灵活的编程接口,使得用户可以根据实际需要实现相应的定时精度,从而更合理的利用系统资源。 3、提出了一种新的实时任务调度算法SBRD(Scheduler Based on RM and EDF)。Linux虽然实现了实时进程的概念,但在调度算法的具体设计上,却没有考虑周期、截止期限、执行时间等实时任务的重要执行属性,因此并没有实现真正意义上的实时任务调度。为此,本文提出了一种新的实时任务调度算法SBRD。与传统实时调度算法不同的是,SBRD算法并不是只根据优先级或截止期限等单独的片面的属性来确定任务执行的先后顺序,而是同时兼顾了重要性和紧急性这两个基本而重要的任务属性,在保证重要任务顺利执行的前提下,尽可能让紧急型任务优先执行。在具体设计上,该算法除了考虑优先级和调度策略,还考虑了周期、截止期限、执行时间等重要的实时任务属性。实验表明:(1)SBRD算法在保证重要任务顺利执行的前提下,可以支持紧急型任务的优先执行,从而让更多实时任务的截止期限得到满足,更为充分地利用系统资源。(2)在系统轻载情况下,SBRD具有与EDF算法同样的性能,即可以充分地利用系统资源,保证所有任务的顺利执行。(3)在超载情况下,SBRD具有与RM算法同样的性能,可以优先保证重要任务的执行。(4)与Linux原有实时调度策略相比,SBRD算法可以更有效地支持实时任务调度。 4、提出了一种改进的多媒体任务模型ARB(Adaptive Rate-Based)和调度算法FB_PRIO。传统的多媒体任务调度算法需要预先知道多媒体任务的计算需求或最坏情况下的执行时间(Worst Case Execution Time,WCET)。但多媒体任务对资源的需求往往是动态变化的,甚至变化很大,因此很难预先确定其资源需求或最坏情况执行时间。传统算法主要采用资源预留的方式实现对多媒体任务的调度支持,显然,这种静态的资源分配方式不仅不能满足多媒体任务对资源的动态需求,而且会造成系统资源的大量浪费。为此,本文提出了一种基于速率的自适应任务模型ARB和调度算法FB_PRIO。 ARB的主要特点包括: (1)不需要预先知道多媒体任务的计算需求或最坏情况执行时间。 (2)多媒体任务在一定的时间间隔内执行指定的次数,而且任意相邻的两次执行之间具有一定的时间距离约束。因此在保证多媒体任务以一定速率执行的同时,延迟抖动的问题也得到了解决。 (3)通过一种反馈机制实现了多媒体任务的准入控制和服务质量的动态调节,在保证原有任务顺利执行的前提下,满足尽可能多任务的执行,以充分的利用系统资源。 (4)可以适应动态变化的环境,包括适应多媒体任务对资源需求的动态变化以及系统可用资源的动态变化。 (5)实现用户与底层调度的动态交互,即用户层可以动态调节多媒体任务的服务质量需求,底层调度根据新需求作出响应,实现新的服务质量保证。这一点是目前任务调度研究的重点之一,因为传统的任务调度不能与用户实现动态沟通,任务一旦开始执行,包括重要性在内的任务属性就不能在任务运行过程中动态改变,因而无法及时反应用户的当前需求。
其他文献
21世纪是信息技术的时代,也是互联网的时代。随着计算机技术、网络通信技术、地球空间技术的发展,尤其是Internet及Web作为未来计算机技术的一个重要发展方向,传统的GIS正向着信
事件流分析处理系统是数据流管理系统后端的历史数据存储分析系统,被广泛地应用在以网络监控、金融分析、传感器网络等监控应用为代表的大规模数据密集型环境中.它需要同时满
学位
近年来,数据呈现爆炸式增长,我们已全面进入大数据时代。大数据技术也应运而生,其中的典型代表为Apache的Hadoop开源项目,这对传统文件系统带来了一定的挑战,包括BWFS、GPFS等。当
机械工业的发展和地位决定了机械制造业对高级应用型人才的需求,而高等职业学院机械专业担负着培养机械专业技术型人才的重任。高职院校机械专业的教学水平决定了所培养人才的
弹上计算机是导弹的核心部件,其性能直接影响导弹武器的整体性能,需要在系统组装前对其进行集成测试和部分测试。本课题设计了一套基于工业控制计算机PC/104总线的自动测试平台,
嵌入式系统在各行各业中得到广泛的应用,其发展速度快的惊人,而作为嵌入式系统软件核心的嵌入式操作系统更是信息产业界研究的热点。本论文主要围绕Linux作为嵌入式操作系统在
通信行业的发展、核心技术和标准的不断演进,基带芯片的研发面临巨大挑战,采用软件无线电技术的基带信号处理方案的无线通信基带芯片成为通信产业、学术界的研究热点。然而目标
如今,大规模系统如数据中心中日益增多的应用负载如搜索引擎、推荐系统等越来越表现出以数据为中心、有限的局部性等特征,而传统的计算机系统以计算为中心、多级存储的架构,需要
现场总线控制系统融合了自动控制、计算机、网络通信、自动化仪表等多项技术,代表着控制系统的发展方向。   目前,由于各种总线各有特色,加之不同总线产品厂商的利益纷争,形成
学位