专利名称:监控vxworks操作系统中已终止任务的装置及方法
技术领域:
本发明涉及计算机操作系统领域,尤其涉及一种监控vxworks操作系统中 已终止任务的装置及方法。
技术背景vxworks操作系统作为一种实时性能良好的操作系统被广泛地运用于大 量地嵌入式系统中。在vxworks操作系统中,可被调度的最小单元被称为任务。随着网路技 术与多媒体技术的发展,嵌入式系统被设计的越来越复杂。基于vxworks操作 系统的嵌入式系统的软件实现上,设计者往往会在操作系统中生成大量的任 务。vxworks操作系统只提供了简单的任务监控手段,但是这些手段无法满足 用户更多的对系统中各种任务进行实时监控的需求。vxworks操作系统对每一个任务是通过相应的任务控制块(Task Control Blocks, TCB)进行管理和控制的。TCB中的一个元素作为任务的状态机体现 了该任务的当前状态。当一个任务终止时,vxworks才喿作系统将该任务的状态 机设置为死亡状态,但是并没有将相应的TCB所占用的内存空间释放掉,造 成了内存空间的浪费。此外,vxworks操作系统没有提供针对这些已经终止但 仍然占用TCB内存空间的任务的监控手段。在复杂的应用环境中,系统中存在大量任务,而内存资源在嵌入式系统中 又显得尤为重要。因此,对系统中当前存在的任务以及已经终止的任务所占用 的内存资源进行监控的重要性显得日益重要。 发明内容本发明的目的在于,提供一种监控vxworks操作系统中已终止任务的装 置,能够緩解由已终止任务的TCB占用内存空间所造成的浪费。本发明的另一目的在于,提供一种监控vxworks操作系统中已终止任务的 方法,能够緩解由已终止任务的TCB占用内存空间所造成的浪费。本发明的监控vxworks操作系统中已终止任务的装置,包括消息接收单 元、存储单元,其中,消息接收单元,用于接收系统中其他任务的消息,并将 接收到的消息发送至存储单元;存储单元,用于添加已终止的TCB信息,并 根据所述已终止的TCB信息通知系统释放所述TCB占用的内存。其中,进一步包括分析单元,用于对所述消息接收单元发送的消息进行分 析,识别消息类型,然后将不同类型消息对应的已终止的TCB信息加入至所 述存储单元。进一步地,可以包括判断单元,用于比较存储单元中的已终止的TCB内 存占用是否超过预定的门限,在超过预定门限时,通知系统释放已经终止任务 的TCB占用的内存。本发明的监控vxworks操作系统中已终止任务的方法,包括下列步骤监 控装置判断是否收到来自系统中已经终止任务的TCB的通知消息,如果是, 则将所述已经终止的任务的TCB信息加入监控任务的已终止任务链表,并通 知系统释放所述已经终止任务的TCB占用的内存。其中,在将所述已经终止的任务的TCB信息加入监控任务的已终止任务 链表之前,可以进一步包括下列步骤对系统发送的所述通知消息进行分析,识别消息类型,然后将不同类型消 息对应的已终止的TCB信息加入所述已终止任务链表中。此外,在所述已经终止的任务的TCB信息加入监控任务的已终止任务链 表后,并通知系统释放所述已经终止任务的TCB占用的内存之前,进一步包 括下列步骤判断所述已终止任务链表中已终止的TCB内存占用是否超过预定的门 限,如果是,则通知系统释^t已经终止任务的TCB占用的内存。另外,在判断是否收到来自系统中已经终止任务的TCB的通知消息时, 可以包括下列步骤判断所述消息是否是任务自然终止的通知消息,或者是否是通知某任务被 终止的消息,如果是,则将被终止的任务的TCB信息加入监控任务的已终止 任务链表。进一步地,可以包括下列步骤根据所述消息中的预设标识判断其是任务自然终止的通知消息,或者是通知某任务被终止的消息。其中,所述消息中的预设标识,为在任务自动结束前向监控装置发送的自 身要终止的消息中添加。另外,所述消息中的预设标识,为在一任务结束另一任务后向监控装置发 送的消息中添加。本发明的有益效果是依照本发明的监控vxworks操作系统中已终止任务 的装置及方法,通过引入监控模块对系统中其他各任务,尤其是已经终止的任 务的监控,可以提供给用户一个更为强大的任务控制手段,并能得到已终止任 务的TCB所占用的内存空间的情况,并在必要的时候作出如释放已终止任务 TCB空间等调整,可有效的缓解由已终止任务的TCB占用内存空间所造成的浪费。
图1为本发明的监控vxworks操作系统中已终止任务的装置结构示意图; 图2为本发明实施例的监控vxworks操作系统中已终止任务的方法流程图;图3为本发明的任务自动结束前向监控任务发送消息的方法流程图; 图4为本发明的任务结束其他任务后向监控任务发送消息的方法流程图。
具体实施方式
以下,参考附图1~4详细描述本发明的监控vxworks操作系统中已终止任 务的装置及方法。如图1所示,为本发明的监控vxworks操作系统中已终止任务的装置结构 示意图。该监控装置,包括消息接收单元、存储单元。其中,消息接收单元, 用于接收系统中其他任务的消息,并将接收到的消息发送至存储单元;存储单 元,其包含已终止任务链表,用于添加已终止的TCB信息,并根据所述已终 止的TCB信息通知系统释放所述TCB占用的内存。此外,该监控装置可以进一步包括分析单元,用于对消息接收单元发送来 的消息进行分析,识别消息类型,并将不同类型消息对应的已终止的TCB信 息加入至存储单元中的已终止任务链表。另外,该监控装置可以进一步包括判断单元,用于比较存储单元中的已终止的TCB内存占用是否超过预定的门限,在超过预定门限时,通知系统释放 部分已经终止任务的TCB占用的内存。
如图2所示,为本发明实施例的监控vxworks操作系统中已终止任务的方 法流程图。该方法包括下列步骤
步骤101:监控装置判断是否收到来自系统中的其他任务的消息,如果是, 则执行步骤102;否则,执行步骤106;
步骤102:判断收到的消息是否是一个任务自然终止的通知消息,如果是, 则执行步骤103;否则,执行步骤104;
步骤103:将该已经终止的任务的TCB信息加入监控任务的已终止任务 链表,并执行步骤106;
步骤104:判断收到的消息是否是一个通知某任务被终止的消息,如果是, 则执行步骤105;否则,执行步骤106;
步骤105:将被终止的任务的TCB信息加入监控任务的已终止任务链表, 并执行步骤106;
步骤106:根据已终止任务链表中的信息分析当前系统中已终止任务的 TCB所占用内存空间是否过大,如果是,则执行步骤107;否则,执行步骤 101;
步骤107:如果系统中配置了允许监控任务自动调整权限,则释放部分已 终止任务的TCB空间,并转步骤101;否则,向错误终端发出告警,并转步 骤101;
如图3所示,为本发明的任务自动结束前向监控任务发送消息的方法流程图。
步骤301:在向监控装置发送将自然终止的消息之前,在生成的消息中添 加预定的标识(例如,用O标识任务自身要终止的情况)后发送该消息; 步骤302:如果发送消息成功,任务自然终止,否则,继续发送。 如图4所示,为本发明的任务结束其他任务后向监控任务发送消息的方法 流程图。
步骤401:任务执行终止目标任务的操作,如果成功,则执行步骤402; 否则,结束动作;步骤402:在向监控装置发送目标任务已终止消息之前,在生成的消息中添加预定的标识(例如,用l标识一任务已终止其他任务的情况)后发送该消 自.步骤403:如果发送消息成功,则结束动作。综上所述,依照本发明的对已终止任务进行监控的vxworks操作系统及方 法,通过引入监控模块对系统中其他各任务,尤其是已经终止的任务的监控, 可以提供给用户一个更为强大的任务控制手段,并能得到已终止任务的TCB 所占用的内存空间的情况,并在必要的时候作出如释放已终止任务TCB空间 等调整,可有效的緩解由已终止任务的TCB占用内存空间所造成的浪费。以上是为了使本领域普通技术人员理解本发明,而对本发明所进行的详细 描述,但可以想到,在不脱离本发明的权利要求所涵盖的范围内还可以做出其 它的变化和修改,这些变化和修改均在本发明的保护范围内。
权利要求
1.一种监控vxworks操作系统中已终止任务的装置,其特征在于,包括消息接收单元、存储单元,其中,消息接收单元,用于接收系统中其他任务的消息,并将接收到的消息发送至存储单元;存储单元,用于添加已终止的任务控制块TCB信息,并根据所述已终止的TCB信息通知系统释放所述TCB占用的内存。
2. 如权利要求1所述的监控vxworks操作系统中已终止任务的装置,其 特征在于,进一步包括分析单元,用于对所述消息接收单元发送的消息进行分 析,识别消息类型,然后将不同类型消息对应的已终止的TCB信息加入至所 述存储单元。
3. 如权利要求1所述的监控vxworks操作系统中已终止任务的装置,其 特征在于,进一步包括判断单元,用于比较存储单元中的已终止的TCB内存 占用是否超过预定的门限,在超过预定门限时,通知系统释放已经终止任务的 TCB占用的内存。
4. 一种监控vxworks操作系统中已终止任务的方法,其特征在于,监控 装置判断是否收到来自系统中已经终止任务的TCB的通知消息,如果是,则 将所述已经终止的任务的TCB信息加入监控任务的已终止任务链表,并通知 系统释放所述已经终止任务的TCB占用的内存。
5. 如权利要求4所述的监控vxworks操作系统中已终止任务的方法,其 特征在于,在将所述已经终止的任务的TCB信息加入监控任务的已终止任务 链表之前,进一步包括下列步骤对系统发送的所述通知消息进行分析,识别消息类型,然后将不同类型消 息对应的已终止的TCB信息加入所述已终止任务链表中。
6. 如权利要求4所述的监控vxworks操作系统中已终止任务的方法,其 特征在于,在所述已经终止的任务的TCB信息加入监控任务的已终止任务链 表后,并通知系统释放所述已经终止任务的TCB占用的内存之前,进一步包 括下列步骤判断所述已终止任务链表中已终止的TCB内存占用是否超过预定的门 限,如果是,则通知系统释放已经终止任务的TCB占用的内存。
7. 如权利要求4所述的监控vxworks操作系统中已终止任务的方法,其 特征在于,判断是否收到来自系统中已经终止任务的TCB的通知消息,包括 下列步骤判断所述消息是否是任务自然终止的通知消息,或者是否是通知某任务被 终止的消息,如果是,则将被终止的任务的TCB信息加入监控任务的已终止 任务链表。
8. 如权利要求7所述的监控vxworks操作系统中已终止任务的方法,其 特征在于,包括下列步骤根据所述消息中的预设标识判断其是任务自然终止 的通知消息,或者是通知某任务被终止的消息。
9. 如权利要求8所述的监控vxworks操作系统中已终止任务的方法,其 特征在于,所述消息中的预设标识,为在任务自动结束前向监控装置发送的自 身要终止的消息中添加。
10. 如权利要求8所述的监控vxworks操作系统中已终止任务的方法,其 特征在于,所述消息中的预设标识,为在一任务终止另一任务后向监控装置发 送的消息中添加。
全文摘要
本发明提供一种监控vxworks操作系统中已终止任务的装置及方法,其中,该装置包括消息接收单元、存储单元,其中,消息接收单元,用于接收系统中其他任务的消息,并将接收到的消息发送至存储单元;存储单元,用于添加已终止的TCB信息,并根据所述已终止的TCB信息通知系统释放所述TCB占用的内存。本发明的监控vxworks操作系统中已终止任务的装置及方法能够缓解由已终止任务的TCB占用内存空间所造成的浪费。
文档编号G06F11/30GK101226496SQ200810006610
公开日2008年7月23日 申请日期2008年1月28日 优先权日2008年1月28日
发明者凡 杨 申请人:中兴通讯股份有限公司