基于嵌入式系统的多任务管理方法技术方案

技术编号:2825061 阅读:263 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及基于嵌入式系统的多任务管理方法,本发明专利技术方法将嵌入式系统有限的任务事先划分成不同的任务优先级,最高为实时中断级,其次为时钟中断级,再次为高优先级任务查询级,最后为低优先级任务查询级,越高优先级的可执行性越高,越能够保证完成任务,较低优先级则可执行性较低,因此将实时性要求高的任务安排在较高的任务级,后台实时性低的任务则为低任务级别。本发明专利技术的优点在于充分保证部分任务执行的实时性,节省系统资源,任务管理简单明了。

【技术实现步骤摘要】

本专利技术涉及的是嵌入式系统的任务调度与管理方法,具体是一种利用时钟中断为基础的低复杂度的嵌入式系统的多任务管理方法。
技术介绍
新世纪里,以计算机技术、通信技术和软件技术为核心的信息技术取得了迅猛的发展,各种装备与设备上广泛应用嵌入式计算与系统。嵌入式系统被描述为:“以应用为中心、软件硬件可裁剪的、适应应用系统对功能、可靠性、成本、体积、功耗等严格综合性要求的专用计算机系统”,由嵌入式硬件和嵌入式软件两部分组成。硬件是支撑,软件是灵魂,几乎所有的嵌入式产品中都需要嵌入式软件来提供灵活多样、而且应用特制的功能。由于嵌入式系统应用广泛,嵌入式软件在整个软件产业中占据了重要地位,并受到世界各国的广泛关注;如今已成为信息产业中最为耀眼的“明星”之一。现有的嵌入式系统软件以linux和wince为主,它们的特点是基本具备PC操作系统的所有功能,任务调度功能强大而完善,能够处理复杂的任务调度。但同时这类操作系统的运行消耗巨大,对于偏低端的嵌入式系统而言,此类系统本身就占用了巨大的系统资源。因而复杂度较低、能基本实现少量任务的实时调度以及系统资源消耗小的任务管理软件更加适合低端嵌入式系统。
技术实现思路
本专利技术针对以上分析,提供了一种基于时钟中断的嵌入式系统的多任务管理方法,本专利技术尽可能利用较少的系统资源完成任务的管理,以单任务的方式调度系统任务,并能够实时的完成任务处理。因而对于低端的嵌入式系统,本专利技术能够实时的处理任务的同时空余出较多系统资源,给资源消耗多的系统任务,进而实现由低端系统来处理复杂的任务。本专利技术是通过以下技术方案实现的:基于嵌入式系统的多任务管理方法,根据嵌入式系统任务处理的实时性要求以及处理任务所需时间,将系统任务分为不同的优先级任务进行处理,最高-->优先级任务为实时中断级任务,能够实时完成系统任务请求,所述最高优先级任务按照任务处理优先级的高低分为一般中断级任务及固定频率的时钟中断级任务,其中一般中断级任务在实时中断级直接处理;其中固定频率的时钟中断级任务产生系统时钟,基于此系统我们将一系列中断任务构成时钟中断任务链表,此中断任务链表为次高优先级任务或为时钟中断级的任务,按照任务处理优先级的高低该级任务又分为实时处理任务及延后调度处理任务:对于实时处理要求高、复杂度低的任务,我们将其作为实时处理任务,在所述时钟中断任务链表级直接处理,这属于实时中断级任务的处理;延后调度处理任务是处理实时要求低、复杂度高的任务,从时钟中断任务链表级调度到下级的任务查询链表级处理;所述任务查询链表级任务为实时要求低的任务,按照任务处理优先级的高低又分为高优先级任务查询链表任务及低优先级任务查询链表任务,构成双查询链表任务;从所述时钟中断级中调度来的任务是任务查询链表中优先级最高的任务,以保证所述时钟中断级中即使是优先级最低的处理任务也能比任务查询链表级中的任务更优先处理。所述高优先级任务查询链表的首个任务是从时钟中断级中调度来的待处理中断任务。在处理上述双查询链表任务时,采取交叉循环的查询方式,每次处理完一个低优先级任务查询链表任务后,都会查询是否有高优先级任务查询链表任务等待处理,确保高优先级任务查询链表任务能够始终被优先查询和处理。并且同时提供任务加载与卸载的命令接口。上述时钟中断任务链表的被执行过程是,在系统时钟的每个时刻检查是否有到时任务执行,当有任务需要执行时,区分是否紧急任务,紧急任务立即在所述时钟中断任务链表级直接处理,非紧急任务被调度到所述查询链表优先级中处理。上述时钟中断级的任务为程序运行中添加的定时任务,所述任务查询链表级的任务为手动命令添加的应用任务。所述时钟中断级任务或任务查询链表级任务都有相应的时间片设定,高优先级的任务实时性高,时间片小;当任务执行时间大于对应优先级所限定的时间片时都需要作善后处理,将剩余任务信息生成新的任务结构体,剩余中断任-->务添加到高优先级查询链表首任务除,剩余查询任务添加到相应级别的任务查询链表尾部,等待再次查询到此任务时执行。上述技术方案中:所述实时中断级,是指:硬件所规定的外部中断源所产生的外部中断,每个中断对应相应的中断处理程序。所述时钟中断任务链表,是指:根据时钟中断产生的系统时钟产生的任务处理链表,链表的每一个节点对应相应处理函数,同时也对应处理时刻,当系统时钟到达此时刻即处理此节点任务。节点任务分为立即处理型任务和延后处理型任务。立即处理型任务即属于实时中断级,而延后处理型任务即转移到任务查询链表中处理的任务。所述任务查询链表,是指:CPU不断查询的任务结构体,分为高低两个优先级,以特定计数器变量中的比特位指示相应的任务。当计数器对应标志比特置位时需要执行此任务,复位时说明此任务暂无或者不需要执行。所述交叉循环的查询方式,是指:确保高优先级任务查询链表中的任务总能优先执行的查询方式,即每次执行完低优先级链表中的一个任务后都要查询一遍高优先级链表,如有高优先级任务直接执行,将其执行结束后才查询低优先级链表中的下一个任务。设置上述最高优先级或实时中断级任务,保证了该优先级任务处理的最实时性、最紧迫性;设置上述次高优先级或时钟中断任务链表级任务,可以根据任务处理的实时性要求及复杂程度,对处理任务进行规划与延后调度;设置上述任务查询链表级任务,可以对处理即使实时要求低的任务,也采取交叉循环的查询方式,确保高优先级任务的优先处理,如此能利用时钟中断使嵌入式系统的多任务能始终按照任务执行紧急程度的顺序进行有条不紊的处理。处理上述最高优先级或实时中断级任务,没有执行时间片限制,只需满足中断处理的时间要求即可。其余每个优先级都有相应的时间片设定。本专利技术的技术优点在于:1、本专利技术能确保嵌入式多任务管理系统部分任务的实时性,此特点是嵌入式系统很重要的特性,因为嵌入式系统的工作能力有限,在有限的能力下实现部分任务的实时性是本系统的重要特点和有益技术效果。本系统部分任务的实时性主要通过中断实现,首先,部分任务的实时中断能够在中断触发时刻发生,-->其次,对于其他任务的实时性是通过中断任务链表来实现的,因为系统时钟是通过固定频率的时钟中断来产生的,而本专利技术中中断任务链表中的任务都规定了具体的执行时刻,当一个时钟中断任务对应的系统时钟时刻到来时,不需要进行任何任务调动,此时钟中断任务便会立即执行。当然这种实时性的代价是部分其他任务的非实时性,即本专利技术中的时钟中断任务的实时性,查询链表中任务的非实时性,因为时钟中断任务会以中断形式打断查询链表中的任务而强制执行。2、本专利技术节省系统资源。因为系统中多个任务都需要拥有自己的系统资源,任务较多时候系统资源消耗较大,比如内存等等。以内存为例,嵌入式系统一般内存资源有限,应用原则是利用较少内存资源完成任务。本专利技术中中断任务处理是打断查询任务处理来执行的,所以查询任务和中断任务的内存使用都一直存在,但是本系统大部分任务是以查询任务来实现的,查询任务是以任务为单位轮流执行的,每个被执行任务发生时分配内存,发生完毕释放内存,因此内存资源被不停重复利用,利用率较高。3、本专利技术的任务管理消耗低,简单明了。嵌入式系统的功能一般都比较固定,所以需要执行的任务数目一般有限而且明确,因而可以将任务事先安排好优先级,然后以可重入的方式改编应用程序本文档来自技高网...

【技术保护点】
基于嵌入式系统的多任务管理方法,根据嵌入式系统任务处理的实时性要求以及处理任务所需时间,将系统任务分为不同的优先级任务进行处理,最高优先级任务为实时中断级任务,能够实时完成系统任务请求,所述最高优先级任务按照任务处理优先级的高低分为一般中断级任务及固定频率的时钟中断级任务,其中一般中断级任务在实时中断级直接处理,本专利技术的特征在于:固定频率的时钟中断级任务产生系统时钟,基于此系统将一系列中断任务构成时钟中断任务链表,此中断任务链表为次高优先级任务或为时钟中断级的任务,按照任务处理优先级的高低该级任务又分为实时处理任务及延后调度处理任务:对于实时处理要求高、复杂度低的任务,将其作为实时处理任务,在所述时钟中断任务链表级直接处理,属于实时中断级任务的处理;延后调度处理任务是处理实时要求低、复杂度高的任务,从时钟中断任务链表级调度到下级的任务查询链表级处理;任务查询链表级任务为实时要求低的任务,按照任务处理优先级的高低又分为高优先级任务查询链表任务及低优先级任务查询链表任务,构成双查询链表任务;从所述时钟中断级中调度来的任务是任务查询链表中优先级最高的任务,以保证所述时钟中断级中即使是优先级最低的处理任务也能比任务查询链表级中的任务更优先处理。...

【技术特征摘要】
1、基于嵌入式系统的多任务管理方法,根据嵌入式系统任务处理的实时性要求以及处理任务所需时间,将系统任务分为不同的优先级任务进行处理,最高优先级任务为实时中断级任务,能够实时完成系统任务请求,所述最高优先级任务按照任务处理优先级的高低分为一般中断级任务及固定频率的时钟中断级任务,其中一般中断级任务在实时中断级直接处理,本发明的特征在于:固定频率的时钟中断级任务产生系统时钟,基于此系统将一系列中断任务构成时钟中断任务链表,此中断任务链表为次高优先级任务或为时钟中断级的任务,按照任务处理优先级的高低该级任务又分为实时处理任务及延后调度处理任务:对于实时处理要求高、复杂度低的任务,将其作为实时处理任务,在所述时钟中断任务链表级直接处理,属于实时中断级任务的处理;延后调度处理任务是处理实时要求低、复杂度高的任务,从时钟中断任务链表级调度到下级的任务查询链表级处理;任务查询链表级任务为实时要求低的任务,按照任务处理优先级的高低又分为高优先级任务查询链表任务及低优先级任务查询链表任务,构成双查询链表任务;从所述时钟中断级中调度来的任务是任务查询链表中优先级最高的任务,以保证所述时钟中断级中即使是优先级最低的处理任务也能比任务查询链表级中的任务更优先处理。2、依据权利要求1所述的基于嵌入式系统的多任务管理方法,其特征在于所述高优先级任务...

【专利技术属性】
技术研发人员:张波赵海源
申请(专利权)人:无锡紫芯集成电路系统有限公司
类型:发明
国别省市:32[中国|江苏]

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

1