一种嵌入式操作系统的任务调度装置及方法制造方法及图纸

技术编号:2913009 阅读:186 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种嵌入式操作系统的任务调度装置及方法,所述装置包括处理器、系统调度器、系统可调度任务集合模块以及自适应分区模块;所述方法首先初始化自适应分区;然后根据各自适应分区所需的最小处理器计算能力占处理器计算能力的比例得到各自适应分区在一个系统调度周期内能够分配到的处理器时间;最后在系统调度周期内调度各自适应分区时,再为各自适应分区分配处理器时间,当前调度的自适应分区的分区调度器根据分区调度策略在其所分配到的处理器时间内调度任务队列中的任务。本发明专利技术克服了当前嵌入式操作系统中调度机制存在的只能对同种类型的静态优先级任务进行全局调度的缺陷。

【技术实现步骤摘要】

本专利技术涉及嵌入式操作系统领域,确切地说,涉及一种入式操作系统的任务调度装置及方法。
技术介绍
随着多媒体、高速网络等技术的快速发展,越来越多的嵌入式系统要求具有联网、图形等复杂功能,以提高其图形化管理、网络化协同操作等特性;而这些发展对于嵌入式系统底层的操作系统提出了越来越高的要求,因嵌入式操作系统(Embedded Operating System,EOS)负责嵌入系统的全部软、硬件资源的分配、调度、控制、协调并发等活动;EOS是相对于一般操作系统而言的,它具备一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件处理等。一方面,目前嵌入式系统大多通过有线或无线方式与外界相连,网络的连接性允许用户可以远程监视和控制系统,并在系统运行期间下载新的程序与内容,这大大提高了系统的易用性和功能扩展性。然而,这也使系统容易受到不可靠软件的影响,在基于优先级调度的多任务嵌入式操作系统中,如果系统存在安全漏洞,恶意软件可能会将自己配制成高优先级任务独占或超时使用处理器资源,阻止其它重要任务的运行,从而导致整个系统的崩溃。另外,由于软件设计不当,某些高优先级进程也可能会出现这种问题,造成该情况的直接原因是目前嵌入式操作系统采用单级调度结构。目前,大多数嵌入式操作系统都属于多任务操作系统,且使用优先级单级调度算法调度任务,如图1所示,所有任务直接由系统调度器调度,共享处理器的计算能力,假设由于设计错误或安全漏洞导致某任务长期独占或超时使用处理器,将会阻止或延迟其他任务的执行,进而可能导致整个系统崩溃。比如最高优先级任务1独占处理器时,只要它不释放处理器,其余n-1个低优先级任务将永远的不到执行机-->会。另一方面,随着嵌入式系统应用向着高性能、网络化、智能化方向的不断深入发展,开放式混合实时需求也变得越来越突出。很多嵌入式系统不仅要求多类型的硬实时、软实时和非实时任务并存,还要求任务能够动态加入和退出,以及任务的执行时间具有时变特征。比如多媒体系统要求稳定周期的帧处理和显示,而帧信息的处理计算时间又随着影片的不同而动态地变化;网络服务系统需要针对不同类别的用户、不同服务请求的特性提供不同实时Qos保证的服务,且服务请求负载呈现动态不确定性变化等。然而,传统的基于单级调度策略架构的实时操作系统无法满足这些多类型任务并发、系统负载动态变化等开放混合实时系统任务调度的需求。针对目前嵌入式实时操作系统所面临的挑战,国内外研究人员已经开始研究新的、安全的、高效的开放式混合任务调度机制。专利号为US2006206887的美国专利技术专利“Adaptive partitioning foroperating system”揭示了一种基于优先级的自适应分区调度装置,该装置可以生成多个自适应分区,其中这些自适应分区的每个都与一个或多个软件线程相关,并且,每一个分区都具有相应的处理器预算。在系统运行期间,如果高优先级任务耗尽了所属分区的处理器预算,则停止执行,释放处理器等待下一个系统调度周期。通过这种自适应分区调度策略,系统为各级优先级的任务提供公平共享的执行时间保证,防止了高优先级任务独占处理器,使低优先级任务也有机会运行。然而,该专利调度方法和调度对象单一,只能对同种类型的静态优先级任务进行全局调度,而且在系统运行期间不能动态加入和退出任务,无法满足开放式混合实时系统中多类型任务并发,系统动态变化的需求。专利号为US2006206881的美国专利“Process scheduleremploying adaptive partitioning of critical process threads”和专利号为CN200610064818的中国专利“采用进程线程的自适应分区的进程调度程序”则在US2006206887的基础上通过设置临界时间预算来保证一些关键临界任务的执行,但它们依然没有能够解决专利-->US2006206887存在的问题。
技术实现思路
本专利技术所要解决的技术问题是,提供一种嵌入式操作系统的任务调度装置及方法,本专利技术克服了当前嵌入式操作系统中调度机制存在的只能对同种类型的静态优先级任务进行全局调度的缺陷,并且解决了系统运行期间不能动态加入和退出任务的问题。一种嵌入式操作系统的任务调度装置,包括处理器、系统调度器和系统可调度任务集合模块,还包括自适应分区模块,所述自适应分区模块包括自适应分区、分区调度器以及任务队列,每个自适应分区均具有一个分区调度器和一个任务队列,所述任务队列用来存储加入的任务;所述分区调度器用于计算其所属自适应分区所需的最小处理器计算能力和分区调度周期,并将计算结果发送给所述系统调度器;所述分区调度器还用于按照分区调度策略调度相应任务队列中的任务;所述系统调度器用于根据所述系统可调度任务集合模块中任务的类型初始化所述自适应分区模块的自适应分区;计算所述各自适应分区所需的最小处理器计算能力占处理器计算能力的比例,并设置系统调度周期;根据所述比例计算各自适应分区在一个系统调度周期内能够分配到的处理器时间,并将所述时间标记给各自适应分区;以及按照系统调度策略调度各自适应分区;所述系统可调度任务集合模块用来存储已加入的任务或者申请退出的任务。所述系统调度模块还用于为每个自适应分区生成唯一的标识符;以及监测所述系统可调度任务集合模块中是否有任务加入或者申请退出,且在监测到有任务加入时,根据所述任务的类型查找所述自适应分区模块中是否有与之相匹配的已初始化的自适应分区,若是,则将所述任务加入到相应自适应分区的任务队列中;否则,为所述任务初始化一个新的自适应分区,将所述任务加入到所述新的自适应分区的任务队列中;在监测到有任务申请退出时,删除所述任务,并检查-->各自适应分区的任务队列是否为空,若是,则删除相应的自适应分区。所述装置还包括任务接收控制模块,用于根据系统中剩余处理器计算能力控制任务的加入,并将加入的任务添加到所述系统可调度任务集合模块中;以及在系统运行期间,有任务申请退出时将所述申请退出的任务添加到所述系统可调度集合模块中。一种嵌入式操作系统的任务调度方法,包括如下步骤:步骤一:系统调度器根据系统可调度任务集合中的任务类型初始化自适应分区;步骤二:所述自适应分区的分区调度器计算其所属自适应分区所需的最小处理器计算能力和分区调度周期,并将计算结果发送给所述系统调度器;步骤三:所述系统调度器根据接收到的各自适应分区所需的最小处理器计算能力计算各自适应分区所需的最小处理器计算能力占处理器计算能力的比例,并根据接收到的各自适应分区的分区调度周期设置系统调度周期;然后根据所述比例计算各自适应分区在一个系统调度周期内能够分配到的处理器时间,并将所述时间标记给各自适应分区;步骤四:所述系统调度器在系统调度周期内根据系统调度策略调度各自适应分区,并为各自适应分区分配处理器时间,当前调度的自适应分区的分区调度器根据分区调度策略在其所分配到的处理器时间内调度任务队列中的任务。所述步骤一还包括:为所述各自适应分区生成唯一标识符。在系统运行期间,所述系统调度器监测所述系统可调度任务集合中是否有任务加入或者申请退出,若监测到有任务加入或者申请退出,则在当前系统调度周期结束后执行如下步骤:步骤a:判断系统可调度任务集本文档来自技高网
...

【技术保护点】
一种嵌入式操作系统的任务调度装置,包括处理器、系统调度器和系统可调度任务集合模块,其特征在于,还包括自适应分区模块, 所述自适应分区模块包括自适应分区、分区调度器以及任务队列,每个自适应分区均具有一个分区调度器和一个任务队列,所述任务 队列用来存储加入的任务;所述分区调度器用于计算其所属自适应分区所需的最小处理器计算能力和分区调度周期,并将计算结果发送给所述系统调度器;所述分区调度器还用于按照分区调度策略调度相应任务队列中的任务; 所述系统调度器用于根据所述系统可调 度任务集合模块中任务的类型初始化所述自适应分区模块的自适应分区;计算所述各自适应分区所需的最小处理器计算能力占处理器计算能力的比例,并设置系统调度周期;根据所述比例计算各自适应分区在一个系统调度周期内能够分配到的处理器时间,并将所述时间标记给各自适应分区;以及按照系统调度策略调度各自适应分区; 所述系统可调度任务集合模块用来存储已加入的任务或者申请退出的任务。

【技术特征摘要】
1、一种嵌入式操作系统的任务调度装置,包括处理器、系统调度器和系统可调度任务集合模块,其特征在于,还包括自适应分区模块,所述自适应分区模块包括自适应分区、分区调度器以及任务队列,每个自适应分区均具有一个分区调度器和一个任务队列,所述任务队列用来存储加入的任务;所述分区调度器用于计算其所属自适应分区所需的最小处理器计算能力和分区调度周期,并将计算结果发送给所述系统调度器;所述分区调度器还用于按照分区调度策略调度相应任务队列中的任务;所述系统调度器用于根据所述系统可调度任务集合模块中任务的类型初始化所述自适应分区模块的自适应分区;计算所述各自适应分区所需的最小处理器计算能力占处理器计算能力的比例,并设置系统调度周期;根据所述比例计算各自适应分区在一个系统调度周期内能够分配到的处理器时间,并将所述时间标记给各自适应分区;以及按照系统调度策略调度各自适应分区;所述系统可调度任务集合模块用来存储已加入的任务或者申请退出的任务。2、如权利要求1所述的嵌入式操作系统的任务调度装置,其特征在于,所述系统调度模块还用于为每个自适应分区生成唯一的标识符;以及监测所述系统可调度任务集合模块中是否有任务加入或者申请退出,且在监测到有任务加入时,根据所述任务的类型查找所述自适应分区模块中是否有与之相匹配的已初始化的自适应分区,若是,则将所述任务加入到相应自适应分区的任务队列中;否则,为所述任务初始化一个新的自适应分区,将所述任务加入到所述新的自适应分区的任务队列中;在监测到有任务申请退出时,删除所述任务,并检查各自适应分区的任务队列是否为空,若是,则删除相应的自适应分区。3、如权利要求1所述的嵌入式操作系统的任务调度装置,其特征在于,所述装置还包括任务接收控制模块,用于根据系统中剩余处理器计算能力控制任务的加入,并将加入的任务添加到所述系统可调度任务集合模块中;以及在系统运行期间,有任务申请退出时将所述申请退出的任务添加到所述系统可调度集合模块中。4、一种嵌入式操作系统的任务调度方法,其特征在于,包括如下步骤:步骤一:系统调度器根据系统可调度任务集合中的任务类型初始化自适应分区;步骤二:所述自适应分区的分区调度器计算其所属自适应分区所需的最小处理器计算能力和分区调度周期,并将计算结果发送给所述系统调度器;步骤三:所述系统调度器根据接收到的各自适应分区所需的最小处理器计算能力计算各自适应分区所需的最小处理器计算能力占处理器计算能力的比例,并根据接收到的各自适应分区的分区调度周期设置系统调度周期;然后根据所述比例...

【专利技术属性】
技术研发人员:王继刚李翌钟卫东
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1