[发明专利]一种VxWorks启动过程任务异常检测方法有效
申请号: | 201510959688.0 | 申请日: | 2015-12-21 |
公开(公告)号: | CN105589766B | 公开(公告)日: | 2018-07-13 |
发明(设计)人: | 梁志宝 | 申请(专利权)人: | 南京国电南自电网自动化有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 董建林 |
地址: | 211100 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 状态字 异常检测 嵌入式操作系统 状态信息判断 初始化状态 任务初始化 产品研发 更新状态 快速定位 全局变量 唯一数字 初始化 计时 进度 检测 帮助 | ||
本发明提供了一种VxWorks启动过程任务异常检测方法,属于嵌入式操作系统技术领域。首先,定义一个全局变量M作为状态字,并初始化状态字M,并为每个任务定义唯一数字标识,使状态字M每位对应于一个任务,每位的数值代表任务的状态信息;然后,VxWorks启动初始化各任务,启动的同时开始计时,并在任务初始化过程中根据执行情况更新状态字M相应位的数值;启动完成后,检测状态字M数值,根据状态信息判断任务是否异常。本发明方法简单,能够方便快速定位VxWorks启动过程中异常任务,对问题的定位和解决提供帮助,从而加快了产品研发的进度。
技术领域
本发明涉及一种嵌入式操作系统任务异常检测方法,尤其涉及一种VxWorks启动过程任务异常检测方法,属于嵌入式操作系统技术领域。
背景技术
VxWorks是美国Wind River System公司(即WRS公司,简称风河公司)于1983年推出的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分,具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。VxWorks以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的 F-16、FA-18 战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。目前嵌入式系统应用已经深入到我们生活中的各个领域,手机、机顶盒、MP4、交换机、路由器等都可以归结为嵌入式设备。在这些嵌入式设备中,有一部分设备需要功能强大、实时性强的操作系统,VxWorks正是这类操作系统中的佼佼者,因此很多嵌入式设备都采用VxWorks来实现。
VxWorks具有一个高性能的操作系统内核Wind。VxWorks的Wind内核为VxWorks提供了一个高性能的实时多任务操作环境。在嵌入式系统中,通常没有像BIOS那样的固件程序,因此整个系统的加载启动任务就完全由Boot Loader来完成。通常情况下,如图1VxWorks启动过程中任务的程序流程图所示,任务的代码实现包括定义局部变量,初始化局部变量,初始化全局变量,然后进入任务的主循环,在主循环里进行具体任务处理,大部分的任务都是采用这种无限循环的结构。在Boot Loader启动时先初始化多任务,然后执行各任务中的主循环,只要系统正常运行,这些任务一直执行主循环。
VxWorks操作系统采取线性单一实地址空间模式,所有任务都运行在同一地址空间,不区分用户态和核心态。VxWorks任务具有这些特点:(1)任务切换时不需要进行虚拟地址空间切换;(2)任务间可以直接共享变量,不需要通过内核在不同的地址空间复制数据;(3)系统调用时不需要在核心态和用户态之间切换,相当于直接的函数调用。正是由于这些特点,系统中的任何一个任务都可以访问整个内存线性空间的任何一个地址,没有任何约束和保护,开发过程中代码如果写的不好,很容易出现异常。而且,这些系统都比较复杂,有的甚至多达几十个任务在同时运行,并且基本上都是多人协同开发,出现异常如果不及时发现解决的话,越到后面解决起来就越难,付出的代价也就越大。目前,异常任务的出现并不是可预期的,它具有调试信息少、随机性强、可重现性差、定位问题困难等特点,犹如隐藏在软性系统内的不定时炸弹,随时都可能导致软件系统瘫痪。这就要求软件开发人员使用的嵌入式操作系统能够在启动过程中提供高效、准确的任务监控的方法。
发明内容
本发明的目的在于克服现有技术的不足,提供一种VxWorks启动过程任务异常检测方法,能够方便快速定位VxWorks启动过程中异常任务,从而加快了产品研发的进度。
本发明解决其技术问题所采用的技术方案是:一种VxWorks启动过程任务异常检测方法,包括以下步骤:
步骤一,定义一个全局变量状态字M,并初始化状态字M;
步骤二,根据状态字M的位数为每个任务定义唯一数字标识,使状态字M每位对应于一个任务,每位的数值代表任务的状态信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京国电南自电网自动化有限公司,未经南京国电南自电网自动化有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510959688.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于在计算机系统中收集配置信息的方法和装置
- 下一篇:批处理集群系统以及方法