一种任务调度方法及任务调度设备的制作方法

文档序号:6332671阅读:176来源:国知局
专利名称:一种任务调度方法及任务调度设备的制作方法
技术领域
本发明涉及计算机应用领域,尤其涉及一种任务调度方法及任务调度设备。
背景技术
在目前的多任务系统中,任务无论有无需要执行的事件,都会主动工作,当发现没 有对应的事件发生时,任务进入休眠状态让出CPU给其它任务,当休眠时间结束后,任务主 动醒来继续主动工作,依照此过程不断轮询。但是,现有技术中的方法由于每次任务主动工作都会占用CPU,每个任务只有发现 没有需要执行的事件时才会进入休眠状态并让出CPU,造成该任务占用CPU的浪费,而其 它需要执行事件的任务也只有等待正在占用CPU却没有执行事件的任务进入休眠状态并 让出CPU,那么就会造成多个任务间分配占用CPU不能满足系统的需要,降低了系统的实时 性。

发明内容
本发明实施例提供了一种任务调度方法及任务调度设备,用于提高多任务系统的 实时性。本发明实施例提供的任务调度方法,包括任务调度设备对环境状态信息进行检 测;当达到预置的生成条件时,根据环境状态信息生成对应的事件;控制生成的事件驱动 处于休眠状态的任务,使得该任务执行生成的事件。本发明实施例提供的任务调度设备,包括检测单元,用于对环境状态信息进行检 测;生成单元,用于当达到预置的生成条件时,根据环境状态信息生成对应的事件;驱动控 制单元,用于控制生成的事件驱动处于休眠状态的任务,使得该任务执行所述生成的事件。从以上技术方案可以看出,本发明实施例具有以下优点由于只有事件发生时,任务才会占用CPU来执行对应的事件,而当没有事件发生 时,各任务均处于休眠状态,CPU不会被占用,使得需要执行事件的任务能够及时占用CPU 来执行对应的事件,从而能够提高系统的实时性。


图1是本发明实施例中任务调度方法一个实施例示意图;图2是本发明实施例中任务调度方法另一个实施例示意图;图3是本发明实施例中任务调度设备一个实施例示意图;图4是本发明实施例中任务调度设备另一个实施例示意图。
具体实施例方式本发明实施例提供了一种任务调度方法及任务调度设备,用于提高多任务系统的 实时性。
请参阅图1,本发明实施例中的任务调度方法一个具体实施例包括101、检测环境状态信息;任务调度设备不断地对环境状态信息进行检测,用于判断是否满足生成事件的条 件,具体的检测方式此处不作限定。102、生成环境状态信息对应的事件;当达到预置的生成条件时,任务调度设备根据环境状态信息生成对应的事件,具 体生成事件的过程为现有技术,此处不做限定。103、控制生成的事件驱动任务。当生成事件之后,任务调度设备控制生成的事件去完成驱动处于休眠状态的任 务,使得该任务能够调度占用CPU来执行该生成的事件。本发明实施例中,任务调度设备能够根据环境状态信息生成事件,并控制该事件 驱动处于休眠状态的任务,也就是说,任务只有在事件的驱动下能够及时占用CPU执行对 应的事件,从而避免了没有事件执行的任务主动占用CPU去工作,因此提高了系统的实时 性。为了便于理解,下面以另一个实施例对本发明实施例中的任务调度方法进行描 述,具体请参阅图2,本发明方法另一个实施例包括201、检测环境状态信息;任务调度设备不断地对环境状态信息进行检测,用于判断是否满足生成事件的条 件,如原始数据缓冲区的大小、RS-232的数字量以及采样芯片对数据的采样等均可以是多 任务系统中的环境状态信息。202、生成环境状态信息对应的事件;当达到预置的生成条件时,比如,当原始数据缓冲区采集满预置的数据个数,或 RS-232的数字量发生变化,或采样芯片采样数据完成后产生中断等,均可确定达到预置的 生成条件,任务调度设备根据环境状态信息生成对应的事件,生成事件的个数可以为一个 或多个,具体生成事件的过程为现有技术,此处不做限定。203、获取各事件对应的任务的优先级;当生成两个以上的事件时,任务调度设备获取各事件对应的任务的优先级,比如, 任务调度设备生成了四个事件,分别获取对应的四个任务数据采集分析任务、数据存储任 务、通信任务、人机接口任务,其对应的优先级分别为62、20、19、18。204、优先控制优先级高的任务对应的事件驱动处于休眠状态的优先级高的任 务;获取各任务的优先级后,任务调度设备优先控制优先级高的任务对应的事件驱动 处于休眠状态的优先级高的任务,比如在步骤203中获取了四个任务数据采集分析任务、 数据存储任务、通信任务、人机接口任务,其对应的优先级分别为62、20、19、18,则优先执行 数据分析采集任务,其它任务依优先级高低顺序执行。205、控制完成执行事件的任务进入休眠状态。当任务占用CPU完成执行事件后,任务调度设备控制该任务进入休眠状态,该任 务进入休眠状态后就会让出CPU,以等待下次对应的事件的驱动。在本发明实施例中,与上述图1的实施例相比,增加了获取事件对应的任务的优先级的过程和控制任务进入休眠状态的过程,因此本发明实施例不仅具有图1的实施例的 有益效果,还具有以下有益效果由于优先级高的任务优先被驱动执行对应的事件,所以能够最大限度的利用CPU, 使得任务间的调度更加合理,另外完成执行事件的任务进入休眠状态让出了 CPU,节省了 CPU资源。以上内容对本发明实施例中的任务调度方法进行了描述,下面对任务调度设备进 行描述,请参阅图3,本发明实施例的任务调度设备的一个例子包括检测单元301,用于对环境状态信息进行检测;生成单元302,用于当达到预置的生成条件时,根据环境状态信息生成对应的事 件;驱动控制单元303,用于控制生成的事件驱动处于休眠状态的任务,使得任务执行 生成的事件。检测单元301首先对环境状态信息进行检测,当达到预置的生成条件时,由生成 单元302根据检测单元301的检测结果生成对应的事件,然后驱动控制单元303控制生成 单元302生成的事件驱动处于休眠状态的任务。本发明实施例中,生成单元302能够根据检测单元301的检测结果生成事件,并由 驱动控制单元303控制该事件驱动处于休眠状态的任务,也就是说,任务只有在事件的驱 动下能够及时占用CPU执行对应的事件,从而避免了没有事件执行的任务主动占用CPU去 工作,因此提高了系统的实时性。为了便于理解,下面以另一个实施例对本发明实施例中的任务调度设备进行描 述,具体请参阅图4,本发明实施例中的任务调度设备另一个实施例包括检测单元401,用于对环境状态信息进行检测;生成单元402,用于当达到预置的生成条件时,根据环境状态信息生成对应的事 件;驱动控制单元403,用于控制生成的事件驱动处于休眠状态的任务,使得任务执行 生成的事件,当生成两个以上的事件时,包括获取模块4031,用于获取各事件对应的任务的优先级;顺序驱动模块4032,用于优先控制优先级高的任务对应的事件驱动处于休眠状态 的优先级高的任务;状态控制单元404,用于任务执行生成的事件之后,控制任务进入休眠状态。检测单元401首先对环境状态信息进行检测,当达到预置的生成条件时,由生成 单元402根据检测单元401的检测结果生成对应的事件,然后获取模块4031获取生成单元 402生成的各事件的优先级,顺序驱动模块4032根据获取模块4031获取到的各任务的优先 级,优先控制优先级高的任务对应的事件驱动对应的任务,状态控制单元404控制执行完 成事件的任务进入休眠状态。在本发明实施例中,与上述图3的实施例相比,增加了获取模块4031和状态控制 单元404,因此本发明实施例不仅具有图3的实施例的有益效果,还具有以下有益效果由于获取模块4031能够获取到各任务的优先级,顺序驱动模块4032能够控制优 先级高的任务优先被驱动执行对应的事件,所以能够最大限度的利用CPU,使得任务间的调度更加合理,状态控制单元404能够控制完成执行事件的任务进入休眠状态让出了 CPU,节 省了 CPU资源。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以 通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上 述提到的存储介质可以是只读存储器,磁盘或光盘等。以上对本发明所提供的一种任务调度方法及任务调度设备进行了详细介绍,对于 本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式
及应用范围上均会有 改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
一种任务调度方法,其特征在于,包括任务调度设备对环境状态信息进行检测;当达到预置的生成条件时,根据所述环境状态信息生成对应的事件;控制所述生成的事件驱动处于休眠状态的任务,使得所述任务执行所述生成的事件。
2.根据权利要求1所述的任务调度方法,其特征在于,所述任务执行所述生成的事件 之后包括控制所述任务进入休眠状态。
3.根据权利要求1所述的任务调度方法,其特征在于,所述控制所述生成的事件驱动 处于休眠状态的任务包括若生成两个以上的事件,则获取各事件对应的任务的优先级;优先控制优先级高的任务对应的事件驱动处于休眠状态的所述优先级高的任务。
4.根据权利要求1所述的任务调度方法,其特征在于,所述达到预置的生成条件包括 原始数据缓冲区采集满预置的数据个数,则确定达到预置的生成条件。
5.根据权利要求1所述的任务调度方法,其特征在于,所述达到预置的生成条件包括 RS-232的数字量发生变化,则确定达到预置的生成条件。
6.根据权利要求1所述的任务调度方法,其特征在于,所述达到预置的生成条件包括 采样芯片采样数据完成后产生中断,则确定达到预置的生成条件。
7.一种任务调度设备,其特征在于,包括 检测单元,用于对环境状态信息进行检测;生成单元,用于当达到预置的生成条件时,根据所述环境状态信息生成对应的事件; 驱动控制单元,用于控制所述生成的事件驱动处于休眠状态的任务,使得所述任务执 行所述生成的事件。
8.根据权利要求7所述的任务调度设备,其特征在于,包括状态控制单元,用于任务执行所述生成的事件之后,控制所述任务进入休眠状态。
9.根据权利要求7所述的任务调度设备,其特征在于,若生成两个以上的事件,所述驱 动控制单元包括获取模块,用于获取各事件对应的任务的优先级;顺序驱动模块,用于优先控制优先级高的任务对应的事件驱动处于休眠状态的所述优 先级高的任务。
全文摘要
本发明实施例公开了一种任务调度方法,用于提高多任务系统的实时性。本发明实施例方法包括任务调度设备对环境状态信息进行检测;当达到预置的生成条件时,根据所述环境状态信息生成对应的事件;控制所述生成的事件驱动处于休眠状态的任务,使得所述任务执行所述生成的事件。本发明实施例另外公开了一种任务调度设备。本发明实施例可以提高多任务系统的实时性。
文档编号G06F9/50GK101923493SQ201010291978
公开日2010年12月22日 申请日期2010年9月21日 优先权日2010年9月21日
发明者张宝贵, 张应榜, 张进军, 梁玉生, 程许平 申请人:深圳市华力特电气股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1