CN101266553B - 基于嵌入式系统的多任务管理方法 - Google Patents

基于嵌入式系统的多任务管理方法 Download PDF

Info

Publication number
CN101266553B
CN101266553B CN2008100254869A CN200810025486A CN101266553B CN 101266553 B CN101266553 B CN 101266553B CN 2008100254869 A CN2008100254869 A CN 2008100254869A CN 200810025486 A CN200810025486 A CN 200810025486A CN 101266553 B CN101266553 B CN 101266553B
Authority
CN
China
Prior art keywords
task
priority
level
interrupt
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2008100254869A
Other languages
English (en)
Other versions
CN101266553A (zh
Inventor
张波
赵海源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WUXI ALPSCALE INTEGRATED CIRCUITS CO Ltd
Original Assignee
WUXI ALPSCALE INTEGRATED CIRCUITS CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WUXI ALPSCALE INTEGRATED CIRCUITS CO Ltd filed Critical WUXI ALPSCALE INTEGRATED CIRCUITS CO Ltd
Priority to CN2008100254869A priority Critical patent/CN101266553B/zh
Publication of CN101266553A publication Critical patent/CN101266553A/zh
Application granted granted Critical
Publication of CN101266553B publication Critical patent/CN101266553B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及基于嵌入式系统的多任务管理方法,本发明方法将嵌入式系统有限的任务事先划分成不同的任务优先级,最高为实时中断级,其次为时钟中断级,再次为高优先级任务查询级,最后为低优先级任务查询级,越高优先级的可执行性越高,越能够保证完成任务,较低优先级则可执行性较低,因此将实时性要求高的任务安排在较高的任务级,后台实时性低的任务则为低任务级别。本发明的优点在于充分保证部分任务执行的实时性,节省系统资源,任务管理简单明了。

Description

基于嵌入式系统的多任务管理方法
技术领域
本发明涉及的是嵌入式系统的任务调度与管理方法,具体是一种利用时钟中断为基础的低复杂度的嵌入式系统的多任务管理方法。
背景技术
新世纪里,以计算机技术、通信技术和软件技术为核心的信息技术取得了迅猛的发展,各种装备与设备上广泛应用嵌入式计算与系统。嵌入式系统被描述为:“以应用为中心、软件硬件可裁剪的、适应应用系统对功能、可靠性、成本、体积、功耗等严格综合性要求的专用计算机系统”,由嵌入式硬件和嵌入式软件两部分组成。硬件是支撑,软件是灵魂,几乎所有的嵌入式产品中都需要嵌入式软件来提供灵活多样、而且应用特制的功能。由于嵌入式系统应用广泛,嵌入式软件在整个软件产业中占据了重要地位,并受到世界各国的广泛关注;如今已成为信息产业中最为耀眼的“明星”之一。
现有的嵌入式系统软件以linux和wince为主,它们的特点是基本具备PC操作系统的所有功能,任务调度功能强大而完善,能够处理复杂的任务调度。但同时这类操作系统的运行消耗巨大,对于偏低端的嵌入式系统而言,此类系统本身就占用了巨大的系统资源。因而复杂度较低、能基本实现少量任务的实时调度以及系统资源消耗小的任务管理软件更加适合低端嵌入式系统。
发明内容
本发明针对以上分析,提供了一种基于时钟中断的嵌入式系统的多任务管理方法,本发明尽可能利用较少的系统资源完成任务的管理,以单任务的方式调度系统任务,并能够实时的完成任务处理。因而对于低端的嵌入式系统,本发明能够实时的处理任务的同时空余出较多系统资源,给资源消耗多的系统任务,进而实现由低端系统来处理复杂的任务。
本发明是通过以下技术方案实现的:
基于嵌入式系统的多任务管理方法,根据嵌入式系统任务处理的实时性要求以及处理任务所需时间,将系统任务分为不同的优先级任务进行处理,最高优先级任务为实时中断级任务,能够实时完成系统任务请求,所述最高优先级任务按照任务处理优先级的高低分为一般中断级任务及固定频率的时钟中断级任务,其中一般中断级任务在实时中断级直接处理,其中固定频率的时钟中断级任务产生系统时钟,基于此系统时钟将一系列中断任务构成时钟中断任务链表,该时钟中断任务链表中的任务为次高优先级任务或为时钟中断链表级任务,按照任务处理优先级的高低该时钟中断任务链表中的任务又分为实时处理任务及延后调度处理任务:对于实时处理要求高、复杂度低的任务,将其作为实时处理任务,在所述时钟中断任务链表级直接处理,属于实时中断级任务的处理;延后调度处理任务是处理实时要求低、复杂度高的任务,从时钟中断任务链表级调度到下级的任务查询链表级处理;
所述任务查询链表级任务为实时要求低的任务,按照任务处理优先级的高低又分为高优先级任务查询链表任务及低优先级任务查询链表任务,构成双查询链表任务;从所述时钟中断级中调度来的任务是任务查询链表中优先级最高的任务,以保证所述时钟中断级中即使是优先级最低的处理任务也能比任务查询链表级中的任务更优先处理。
所述高优先级任务查询链表的首个任务是从时钟中断级中调度来的待处理中断任务。
在处理上述双查询链表任务时,采取交叉循环的查询方式,每次处理完一个低优先级任务查询链表任务后,都会查询是否有高优先级任务查询链表任务等待处理,确保高优先级任务查询链表任务能够始终被优先查询和处理。并且同时提供任务加载与卸载的命令接口。
上述时钟中断任务链表的被执行过程是,在系统时钟的每个时刻检查是否有到时任务执行,当有任务需要执行时,区分是否紧急任务,紧急任务立即在所述时钟中断任务链表级直接处理,非紧急任务被调度到所述查询链表优先级中处理。
上述时钟中断级的任务为程序运行中添加的定时任务,所述任务查询链表级的任务为手动命令添加的应用任务。
所述时钟中断级任务或任务查询链表级任务都有相应的时间片设定,高优先级的任务实时性高,时间片小;当任务执行时间大于对应优先级所限定的时间片时都需要作善后处理,将剩余任务信息生成新的任务结构体,剩余中断任务添加到高优先级查询链表首任务除,剩余查询任务添加到相应级别的任务查询链表尾部,等待再次查询到此任务时执行。
上述技术方案中:
所述实时中断级,是指:硬件所规定的外部中断源所产生的外部中断,每个中断对应相应的中断处理程序。
所述时钟中断任务链表,是指:根据时钟中断产生的系统时钟产生的任务处理链表,链表的每一个节点对应相应处理函数,同时也对应处理时刻,当系统时钟到达此时刻即处理此节点任务。节点任务分为立即处理型任务和延后处理型任务。立即处理型任务即属于实时中断级,而延后处理型任务即转移到任务查询链表中处理的任务。
所述任务查询链表,是指:CPU不断查询的任务结构体,分为高低两个优先级,以特定计数器变量中的比特位指示相应的任务。当计数器对应标志比特置位时需要执行此任务,复位时说明此任务暂无或者不需要执行。
所述交叉循环的查询方式,是指:确保高优先级任务查询链表中的任务总能优先执行的查询方式,即每次执行完低优先级链表中的一个任务后都要查询一遍高优先级链表,如有高优先级任务直接执行,将其执行结束后才查询低优先级链表中的下一个任务。
设置上述最高优先级或实时中断级任务,保证了该优先级任务处理的最实时性、最紧迫性;设置上述次高优先级或时钟中断任务链表级任务,可以根据任务处理的实时性要求及复杂程度,对处理任务进行规划与延后调度;设置上述任务查询链表级任务,可以对处理即使实时要求低的任务,也采取交叉循环的查询方式,确保高优先级任务的优先处理,如此能利用时钟中断使嵌入式系统的多任务能始终按照任务执行紧急程度的顺序进行有条不紊的处理。
处理上述最高优先级或实时中断级任务,没有执行时间片限制,只需满足中断处理的时间要求即可。其余每个优先级都有相应的时间片设定。
本发明的技术优点在于:
1、本发明能确保嵌入式多任务管理系统部分任务的实时性,此特点是嵌入式系统很重要的特性,因为嵌入式系统的工作能力有限,在有限的能力下实现部分任务的实时性是本系统的重要特点和有益技术效果。本系统部分任务的实时性主要通过中断实现,首先,部分任务的实时中断能够在中断触发时刻发生,其次,对于其他任务的实时性是通过中断任务链表来实现的,因为系统时钟是通过固定频率的时钟中断来产生的,而本发明中中断任务链表中的任务都规定了具体的执行时刻,当一个时钟中断任务对应的系统时钟时刻到来时,不需要进行任何任务调动,此时钟中断任务便会立即执行。当然这种实时性的代价是部分其他任务的非实时性,即本发明中的时钟中断任务的实时性,查询链表中任务的非实时性,因为时钟中断任务会以中断形式打断查询链表中的任务而强制执行。
2、本发明节省系统资源。因为系统中多个任务都需要拥有自己的系统资源,任务较多时候系统资源消耗较大,比如内存等等。以内存为例,嵌入式系统一般内存资源有限,应用原则是利用较少内存资源完成任务。本发明中中断任务处理是打断查询任务处理来执行的,所以查询任务和中断任务的内存使用都一直存在,但是本系统大部分任务是以查询任务来实现的,查询任务是以任务为单位轮流执行的,每个被执行任务发生时分配内存,发生完毕释放内存,因此内存资源被不停重复利用,利用率较高。
3、本发明的任务管理消耗低,简单明了。嵌入式系统的功能一般都比较固定,所以需要执行的任务数目一般有限而且明确,因而可以将任务事先安排好优先级,然后以可重入的方式改编应用程序,使得每次程序运行都小于此优先级的时间片,依照此原理便实现了查询方式的任务被动调度。
附图说明
图1为本发明方法中任务结构体的示意图;
图2为本发明方法中时钟中断任务链表任务处理与任务查询链表任务处理的关系图;
图3为发明方法中时钟中断任务链表任务处理的流程图;
图4为发明方法中任务查询链表任务处理的流程图。
具体实施方式
下面结合附图进一步对本发明及具体实施方式作详细说明。
本发明为基于嵌入式系统的多任务管理方法,具体实施步骤如下:
(一)、嵌入式多任务管理系统的初始化
嵌入式多任务管理系统的初始化过程是在硬件初始化完成之后进行的,系统初始化将所有任务信息收集并实现任务结构体的实现,其步骤为:
1)禁止中断:将硬件中断源关闭,防止在初始化嵌入式多任务管理系统过程中产生中断不能正确处理。
2)初始化时钟中断任务链表:将系统所定义的所有中断任务收集起来以链表形式实现,链表的单元是任务结构体。
3)初始化任务查询链表:将系统所定义的所有查询任务收集起来以链表形式实现,链表的单元是任务结构体。
4)查询内存任务加载区,将程序中以宏标记为任务的结构体取出,根据任务编号(ID)信息填入任务查询链表相应位置;
5)如果任务编号(ID)显示此任务为开机立即执行任务,立即执行初始化函数,此后将任务标记位置位,即开启此任务的执行。
6)此后进入任务交互模式,用户交互程序为一个高优先级任务查询,在初始化过程中被启动,通过此交互程序可以实现任务的交互更改,系统不停的循环在任务查询链表,实时中断和时钟中断根据需求随时可以发生,充分保证了实时性。
上述初始化过程中的任务结构体是本发明中用以管理任务信息的,图1为发明方法中任务结构体的示意图。见图1,该任务结构体的组成包括任务编号(ID)1,任务初始化函数指针2指向初始化函数Func init6,任务处理函数指针3指向处理函数Func handle7,任务加载函数指针4指向加载函数Func load8,任务释放函数指针5指向释放函数Func release9等等,每一个生成任务都有一个如此的任务结构体进行管理。
(二)、实时中断级任务的处理
本发明方法根据嵌入式系统任务处理的实时性要求以及处理任务所需时间,将系统任务分为不同的优先级任务进行处理,最高优先级任务为实时中断级任务,能够实时完成系统任务请求,最高优先级任务按照任务处理优先级的高低分为一般中断级任务及固定频率的时钟中断级任务,其中一般中断级任务在实时中断级直接处理。所述实时中断即为系统硬件支持的硬件中断,例如外部端口中断,DMA(直接内存访问)数据传输中断,时钟中断等等,其中的时钟中断为本发明中较为特殊的中断,其为固定频率的时钟中断级任务,其根据硬件设置,硬件时钟可以在固定计时后产生中断,据此原理产生一个固定频率的时钟中断,此中断的累计便可以产生系统时钟,此为后面时钟中断任务处理的基础。
实时中断处理主要保证实时性要求,利用硬件中断资源能够实现快速处理,不论系统运行在任何任务级别都可以被实时中断打断,来处理实时中断任务,实时中断任务处理的步骤为:
1)关闭中断;
2)保存现场;
3)跳转到中断执行函数;
4)恢复现场并打开中断;
5)恢复中断前的任务的处理。
(三)时钟中断任务的处理
如前所述,固定频率的时钟中断级任务产生系统时钟,基于此系统时钟对待处理的任务构成时钟中断任务链表,作为次高优先级任务或为时钟中断链表级任务。
时钟中断链表级任务处理的特征是能够比较实时的完成系统所需要的任务处理,嵌入式系统的应用场合一般会有一定的实时性需求,比如测控系统在事件发生的时刻必须立即做出响应,音视频系统在正常工作的同时必须对控制输入有实时的响应,中断能够比较出色的完成实时的响应,但是大量不同中断的存在,使得中断之间的管理消耗系统资源,所以本系统在保证中断存在的情况下,利用硬件的时钟中断源,产生一个每10毫秒产生一次的时钟中断,同时本系统中定义了一个全局的系统时刻标签,在时钟中断每次到来的时候此时刻标签会加一,以此时刻标签为基准,可以安排时钟中断任务的执行时间,即每一个时钟中断任务在确立的时候都要确定具体执行时刻,当系统运行至此时刻时便执行此任务,如此的优点是减少大量不同中断的处理消耗,而以一个时钟中断便完成了所有时钟中断任务的实时性要求。
时钟中断任务链表中任务按照任务处理优先级的高低,又分为实时处理任务及延后调度处理任务:其中实时处理任务的实时要求高,处理实时要求高、复杂度低的任务时,作为实时处理任务,在所述时钟中断任务链表级直接处理,其也属于实时中断级任务的处理;其中延后调度处理任务由时钟中断任务链表规划与调度处理,处理实时要求低、复杂度高的任务时作为延后调度处理任务,从时钟中断任务链表级调度到下级的任务查询链表级处理。
所述时钟中断任务链表的规划与延后调度过程是,在系统时钟的每个时刻检查是否有到时任务执行,当有任务执行时,区分是否紧急任务,紧急任务立即在所述时钟中断任务链表级直接处理,非紧急任务被调度到所述查询链表级中处理。
以下结合图2、图3对以上所述的实施过程进一步说明。
图2为本发明方法中时钟中断任务链表任务处理与任务查询链表任务处理的关系图。如图2所示,中断任务按照系统要求分别在固定时间启动,中断任务链表10以双向指针链表实现,当有新的任务添加时,即增加一个关于此任务的结构体,按照此结构体中的系统时钟标签大小将其插入现有的中断任务链表10中,确保中断任务链表10是按系统时钟标签从小到大来排列的。图2中示出某时刻中断任务链表10的状态,11、12分别为中断任务链表10的前两个中断任务的结构体,所以中断任务11的系统执行时刻一定比中断任务12的早或者相同,在每次发生时钟中断的时刻都检查中断任务链表10的首位,当被检查首位中断任务节点11的执行时刻标签与当前多任务管理系统由时钟中断产生的系统时刻吻合时,便摘除此任务节点11并立即执行,实时处理任务。
图3为发明方法中时钟中断任务链表任务处理的流程图,步骤19为每次产生时钟中断后系统时刻加一,接下来步骤20判断时钟中断链表上是否有任务,如有则将首个到时任务摘除(步骤21),然后步骤22判断此任务是否为立即执行任务,如果是则在中断中立即执行(步骤23),为实时处理任务,但是如果立即执行时间超出对应时间片长度(步骤24),则动态分配中断延后处理任务信息结构体,并复制该中断延后处理任务信息结构体,将其添加到中断延后处理链表尾部(步骤25-1,25-2),将剩余任务信息转移到高级任务查询链表首个任务;如果不是立即执行任务,而是延后处理任务,则与上相同,动态分配中断延后处理任务信息结构体,并复制该中断延后处理任务信息结构体,将其并添加到中断延后处理链表(即图2中的中断任务链表18)的尾部(步骤25-1,25-2),此延后处理结构链表被挂在高级任务查询链表首个任务,因而在退出中断后将很快被执行。依照上述步骤检测,完成一次任务后再检查是否有到时任务(步骤21),直到所有到时任务被处理完之后,退出此次中断任务处理。
又如图3、图2所示,按照图3步骤25,在图2中所示的延后调度处理的中断任务链表中,以新的双向指针链表18实现,其首节点16挂在高优先级任务查询链表15的首个任务处。每当时钟中断处理到双向指针链表10上调度处理的中断任务例如13时,便将其从中断任务链表10中摘除,并将此节点13的任务信息复制到一个新动态分配的任务结构体17中,并将新任务结构体17挂在高优先级任务链表18的尾部。当任务查询链表循环到高优先级任务查询链表15的首个任务处时,便将所有延后调度处理的中断任务16、17全部执行。图2所示,在中断任务链表10中,中断任务12、13均为延后调度处理的任务,当系统时刻标签运行到与之相应时刻时候,中断任务12、13分别执行,但是它们并未在时钟中断级中执行,而是生成了新的延后调度处理的任务16、17,并插入高优先级查询链表15的首个任务处,由于高优先级任务链表的执行频率很高,所以新的延后调度处理的任务16和17的实际执行时间与设定时间相差很小,近似于实时执行,但由于新的延后处理的任务16和17的执行所耗费时间较多,没有放在任务链表10中执行,所以减少了在任务链表10中对其他后续时钟中断的影响,以充分保证任务链表10中部分任务的实时性。
(四)查询任务的处理
任务查询链表级任务为实时要求低的任务,按照任务处理优先级的高低又分为高优先级任务查询链表任务及低优先级任务查询链表任务,构成双查询链表任务;从所述时钟中断任务链表级中调度来的任务是任务查询链表中优先级最高的任务,以保证所述时钟中断任务链表级中即使是优先级最低的处理任务也能比任务查询链表级中的任务更优先处理。
所述高优先级任务查询链表的首个任务是从时钟中断任务链表级中调度来的待处理中断任务。
在处理所述双查询链表任务时,采取交叉循环的查询方式,每次处理完一个低优先级任务查询链表任务后,都会查询是否有高优先级任务查询链表任务等待处理,确保高优先级任务查询链表任务能够始终被优先查询和处理,并且同时提供任务加载与卸载的命令接口。
任务查询链表的特征在于借鉴Linux系统的时间片管理,Linux系统基于时间片的概念实现多任务处理,每一个任务都拥有一定的时间片,此时间片用完就退出,不同优先级的任务拥有不同的时间片,任务实现主动调度。本发明方法的特点在于系统的多个同优先级任务拥有的时间片相同,即同一级中断任务链表或者任务查询链表中的任务都拥有相同的时间片,多任务间为被动调度,如果超出时间片便将此任务剩余信息进行重新安排。
以上所述查询任务处理的实施可参见图2、图4。
见图2,任务查询链表任务以一系列前后相连的函数指针实现,如图2中的高优先级任务查询链表15和低优先级任务查询链表14。本多任务管理系统定义两个整数型值,其每一个比特位用于标明高优先级任务查询链表或者低优先级任务查询链表的一个任务节点是否有注册任务,系统通过交叉循环的方式检查这两个变量,即先检查高优先级标识变量的每个比特,检查完一遍高优先级变量所有比特之后,再检查低优先级标识变量的一个比特位,然后再检查一遍高优先级标识变量的所有比特,如此循环,当检查到高优先级任务查询链表或者低优先级任务查询链表的标识变量某一比特置位时表明有任务注册,则执行对应任务查询链表的任务,反之不需要执行。
图4为发明方法中任务查询链表任务处理的流程图。如图4所示,系统的主循环即在执行查询任务,首先看是否高优先级任务查询链表已经全部检测完(步骤26),如没检测完则按顺序检测高优先级任务查询链表(步骤33),如果对应位置有任务(步骤34),则依次执行此任务,没有则跳过。
但是系统的交互任务是比较特殊的(步骤27),它是始终存在的,用以对任务链表中的任务进行处置,根据交互任务的命令解析(步骤28),可以对任务查询链表中的任务进行增加(步骤29)或者终止(步骤30),均是通过对相应结构体表进行修改完成的(步骤32)。根据交互任务的命令解析(步骤28)也可以对现存任务进行查询(步骤31)。
如果被执行任务不能在本优先级任务时间片内完成任务,则执行超时(步骤35),即主动把任务执行的信息保存为一个新的任务,添加到高优先级任务查询链表的尾部(步骤36),等待高优先级链表再次检测到此任务时执行。全部高优先级查询任务结束之后,系统检测下一位低优先级查询任务(步骤37),同样根据对应比特位决定是否有任务执行,如果超过对应时间片(步骤38),也必须保存剩余任务信息为新的低优先级查询任务,并添加到低优先级任务查询链表尾部(步骤39),等待低优先级链表再次检测到此任务时执行。
由上述可见,时钟中断级任务或任务查询链表级任务都由相应的时间片设定,高优先级的任务实时性高,时间片小;当任务执行时间大于对应优先级所限定的时间片时都需要作善后处理,将剩余任务信息生成新的任务结构体,剩余中断任务添加到高优先级查询链表首任务处,剩余查询任务添加到相应级别任务查询链表尾部,等待再次查询到此任务时执行。
图3所示时钟中断级的任务为程序运行中添加的定时任务,图4所示任务查询链表级的任务为手动命令添加的应用任务。
应用实现
本任务管理系统已经在本公司的音视频芯片上得到应用,此音视频芯片以ARM核为处理器,提供外挂SDRAM控制器,Flash控制器,液晶控制器等等的数字多媒体SOC芯片,此芯片上层应用可以基于Linux,Wince等操作系统,也可以基于自主的任务管理系统。
在此芯片的自主任务管理应用中,主要任务包括:音频解码,视频解码,按键处理,系统监控,命令处理,音视频播放,图形现实,存储卡管理等等。根据本系统设计以及任务特点,按键处理、系统监控等实时要求高,定义为时钟中断级任务;命令处理、音视频播放、图形显示等定义为高优先级任务;音频、视频解码由于以运算为主,且一般会有缓存区,因而被中断的影响不大,定义为低优先级任务。
目前此芯片已经流片,而采用此芯片和此任务管理系统为应用方案的MP4样机也已经完成,主要应用功能实现良好。

Claims (6)

1.基于嵌入式系统的多任务管理方法,根据嵌入式系统任务处理的实时性要求以及处理任务所需时间,将系统任务分为不同的优先级任务进行处理,最高优先级任务为实时中断级任务,能够实时完成系统任务请求,所述最高优先级任务按照任务处理优先级的高低分为一般中断级任务及固定频率的时钟中断级任务,其中一般中断级任务在实时中断级直接处理,本发明的特征在于:
固定频率的时钟中断级任务产生系统时钟,基于此系统时钟将一系列中断任务构成时钟中断任务链表,该时钟中断任务链表中的任务为次高优先级任务或为时钟中断链表级任务,按照任务处理优先级的高低该时钟中断任务链表中的任务又分为实时处理任务及延后调度处理任务:对于实时处理要求高、复杂度低的任务,将其作为实时处理任务,在所述时钟中断任务链表级直接处理,属于实时中断级任务的处理;延后调度处理任务是处理实时要求低、复杂度高的任务,从时钟中断任务链表级调度到下级的任务查询链表级处理;
任务查询链表级任务为实时要求低的任务,按照任务处理优先级的高低又分为高优先级任务查询链表任务及低优先级任务查询链表任务,构成双查询链表任务;从所述时钟中断级中调度来的任务是任务查询链表中优先级最高的任务,以保证所述时钟中断级中即使是优先级最低的处理任务也能比任务查询链表级中的任务更优先处理。
2.依据权利要求1所述的基于嵌入式系统的多任务管理方法,其特征在于所述高优先级任务查询链表的首个任务是从时钟中断级中调度来的待处理中断任务。
3.依据权利要求1或2所述的基于嵌入式系统的多任务管理方法,其特征在于在处理所述双查询链表任务时,采取交叉循环的查询方式,每次处理完一个低优先级任务查询链表任务后,都会查询是否有高优先级任务查询链表任务等待处理,确保高优先级任务查询链表任务能够始终被优先查询和处理。
4.依据权利要求1所述的基于嵌入式系统的多任务管理方法,其特征在于上述时钟中断任务链表的被执行过程是,在系统时钟的每个时刻检查是否有到时任务执行,当有任务需要执行时,区分是否紧急任务,紧急任务立即在所述时钟中断任务链表级直接处理,非紧急任务被调度到所述查询链表优先级中处理。
5.依据权利要求1所述的基于嵌入式系统的多任务管理方法,其特征在于所述时钟中断级的任务为程序运行中添加的定时任务,所述任务查询链表级的任务为手动命令添加的应用任务。
6.依据权利要求1或5所述的基于嵌入式系统的多任务管理方法,其特征在于所述时钟中断级任务或任务查询链表级任务都有相应的时间片设定,高优先级的任务实时性高,时间片小;当任务执行时间大于对应优先级所限定的时间片时都需要作善后处理,将剩余任务信息生成新的任务结构体,剩余中断任务添加到高优先级查询链表首任务除,剩余查询任务添加到相应级别的任务查询链表尾部,等待再次查询到此任务时执行。
CN2008100254869A 2008-05-06 2008-05-06 基于嵌入式系统的多任务管理方法 Expired - Fee Related CN101266553B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100254869A CN101266553B (zh) 2008-05-06 2008-05-06 基于嵌入式系统的多任务管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100254869A CN101266553B (zh) 2008-05-06 2008-05-06 基于嵌入式系统的多任务管理方法

Publications (2)

Publication Number Publication Date
CN101266553A CN101266553A (zh) 2008-09-17
CN101266553B true CN101266553B (zh) 2010-06-02

Family

ID=39988985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100254869A Expired - Fee Related CN101266553B (zh) 2008-05-06 2008-05-06 基于嵌入式系统的多任务管理方法

Country Status (1)

Country Link
CN (1) CN101266553B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101887383B (zh) * 2010-06-30 2013-08-21 中山大学 一种进程实时调度方法
CN101997777B (zh) * 2010-11-16 2012-10-10 福建星网锐捷网络有限公司 中断处理方法、装置和网络设备
CN102591703B (zh) * 2011-01-10 2015-05-06 中兴通讯股份有限公司 操作系统的任务调度方法、装置及计算机
CN102081366A (zh) * 2011-01-20 2011-06-01 浙江吉利汽车研究院有限公司 一种混合动力汽车整车控制器的任务调度方法
CN104572144A (zh) * 2013-10-16 2015-04-29 北大方正集团有限公司 下载应用的方法和装置
CN103914346A (zh) * 2013-12-16 2014-07-09 西北工业大学 一种基于分组的实时操作系统双优先级任务调度节能方法
CN103984596B (zh) * 2014-05-19 2017-06-20 上海微小卫星工程中心 一种星载软件的调度方法及装置
CN104915254A (zh) * 2014-12-31 2015-09-16 杰瑞石油天然气工程有限公司 一种嵌入式系统的多任务调度方法及系统
CN104794077A (zh) * 2015-04-07 2015-07-22 无锡天脉聚源传媒科技有限公司 一种链表存储方法及系统
CN106155806B (zh) * 2015-04-14 2020-08-11 腾讯科技(深圳)有限公司 一种多任务调度方法及服务器
CN105204857B (zh) * 2015-09-21 2018-08-07 中国船舶重工集团公司第七〇五研究所 一种基于“轮询式”多时间片精确调度的嵌入式控制系统设计方法
CN105117288B (zh) * 2015-09-24 2019-09-13 上海斐讯数据通信技术有限公司 一种高精度时钟辅助任务执行的方法
CN106873545A (zh) * 2015-12-14 2017-06-20 重庆森坦科技有限公司 一种基于fpga的实时多任务调度系统
CN106054723B (zh) * 2016-06-28 2019-03-08 厦门宏发开关设备有限公司 一种智能综合保护开关任务调度系统
CN106055402A (zh) * 2016-07-20 2016-10-26 青岛海信电器股份有限公司 一种中断的处理方法及装置
CN106980536B (zh) * 2017-03-24 2018-07-31 中南大学 数据采集监控器的程序调度方法
CN107239349A (zh) * 2017-05-25 2017-10-10 努比亚技术有限公司 一种任务管理方法、计算机设备及存储介质
CN107273141B (zh) * 2017-07-10 2020-12-29 无锡走向智能科技有限公司 嵌入式实时操作系统
CN107844367A (zh) * 2017-10-25 2018-03-27 上海斐讯数据通信技术有限公司 一种多任务的管理方法及系统
CN107870812B (zh) * 2017-11-17 2021-06-15 南京国电南自轨道交通工程有限公司 一种基于单线程并发多定时器应用管理方法
CN108958909A (zh) * 2018-04-29 2018-12-07 浙江工规科技有限公司 基于时钟中断的嵌入式系统任务管理系统
CN114647674A (zh) * 2022-03-30 2022-06-21 中国农业银行股份有限公司 一种查询调度方法及查询调度器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1488097A (zh) * 2000-11-13 2004-04-07 �Դ���� 具有错误防护以确定控制和命令型的多任务应用实时运行的安全方法
US6813665B2 (en) * 2001-09-21 2004-11-02 Intel Corporation Interrupt method, system and medium
CN101086711A (zh) * 2006-06-11 2007-12-12 上海全成通信技术有限公司 一种多任务运行系统中的任务管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1488097A (zh) * 2000-11-13 2004-04-07 �Դ���� 具有错误防护以确定控制和命令型的多任务应用实时运行的安全方法
US6813665B2 (en) * 2001-09-21 2004-11-02 Intel Corporation Interrupt method, system and medium
CN101086711A (zh) * 2006-06-11 2007-12-12 上海全成通信技术有限公司 一种多任务运行系统中的任务管理方法

Also Published As

Publication number Publication date
CN101266553A (zh) 2008-09-17

Similar Documents

Publication Publication Date Title
CN101266553B (zh) 基于嵌入式系统的多任务管理方法
CN101226487B (zh) 基于嵌入式Linux操作系统的内核级线程库的实现方法
CN101556545B (zh) 一种实现进程支持的方法、装置和多线程系统
CN104199730B (zh) 一种基于同步i/o复用机制的单线程多任务处理方法
CN102722402B (zh) 一种非抢占式实时调度多任务的处理系统及方法
CN102073535B (zh) 基于硬件计数器虚拟化的多虚拟机性能分析方法
WO2014110702A1 (zh) 协同并发式消息总线、主动构件组装模型及构件拆分方法
CN101894047A (zh) 一种基于内核虚拟机调度策略的实现方法
Rossi et al. Preemption of the partial reconfiguration process to enable real-time computing with FPGAs
US20120192147A1 (en) Develop real time software without an RTOS
CN109656868B (zh) 一种cpu与gpu之间的内存数据转移方法
Pinho et al. High Performance Embedded Computing
CN112948136A (zh) 一种嵌入式操作系统异步日志记录的实现方法
CN101349975B (zh) 一种在嵌入式操作系统上实现中断底半部机制的方法及装置
CN103257892A (zh) 一种基于宏组合的多任务调度方法及系统
Prashanth et al. Real-time issues in embedded system design
Pereira et al. Co-designed FreeRTOS deployed on FPGA
US10261817B2 (en) System on a chip and method for a controller supported virtual machine monitor
CN112579294A (zh) 一种虚拟机的多核调度的实现方法及装置
WO2014110701A1 (zh) 独立主动构件和可运行主动构件组装模型及构件拆分方法
David et al. Dependable real-time system and mixed criticality: Seeking safety, flexibility and efficiency with Kron-OS
Madsen et al. System-level verification of multi-core embedded systems using timed-automata
Sun et al. Concurrency and Operating Systems, Processors, and Programming Languages
Zhou et al. Shum-ucos: A rtos using multi-task model to reduce migration cost between sw/hw tasks
Chaobin et al. Study on the CNC system interpolation based on windows CE. NET and its real-time

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Multitask management process based on embedded system

Effective date of registration: 20111215

Granted publication date: 20100602

Pledgee: Agricultural Bank of China Limited by Share Ltd Wuxi science and Technology Branch

Pledgor: Wuxi Alpscale Integrated Circuits Co., Ltd.

Registration number: 2011990000492

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100602

Termination date: 20150506

EXPY Termination of patent right or utility model