[发明专利]一种CPU负载率计算方法及装置在审
申请号: | 201710196842.2 | 申请日: | 2017-03-29 |
公开(公告)号: | CN106897203A | 公开(公告)日: | 2017-06-27 |
发明(设计)人: | 张文生;陈宁 | 申请(专利权)人: | 北京经纬恒润科技有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 王宝筠 |
地址: | 100101 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 cpu 负载 计算方法 装置 | ||
技术领域
本发明涉及嵌入式实时操作系统技术领域,更具体地说,涉及一种CPU负载率计算方法及装置。
背景技术
在ECU(Electronic Control Unit,电子控制器)的设计和开发过程中,为确保程序的可靠运行,需要实时计算CPU(Central Processing Unit,中央处理器)的负载率。
目前检测CPU负载率通常和嵌入式实时操作系统相结合,通过统计测试时段内系统静态配置的任务运行时长以及中断运行时长来计算CPU负载率,其中,上述任务包括基本任务和扩展任务,但是,由于测试时段内任务激活、结束、抢占的时长以及中断预处理、后处理的时长均未统计,这就导致计算得到的CPU负载率误差很大。
发明内容
有鉴于此,本发明提供一种CPU负载率计算方法及装置,以解决现有的CPU负载率计算误差很大的问题。技术方案如下:
一种CPU负载率计算方法,包括:
当接收到携带有测试时段的测试通知时,根据嵌入式实时操作系统的系统时间实时更新预设标识的状态,并在所述嵌入式实时操作系统的空闲任务运行线程之前添加第一接口函数线程;
开启所述第一接口函数线程,并根据所述嵌入式实时操作系统的第一当前系统时间判断所述预设标识的状态是否为无效状态,所述无效状态用于表征所述第一当前系统时间未到达所述测试时段内的测试终止时间;
当所述预设标识的状态为所述无效状态,并且所述第一当前系统时间在所述测试时段内时,将所述第一当前系统时间确定为空闲任务的启动时间;
开启所述空闲任务运行线程,并在运行所述空闲任务过程中根据所述嵌入式实时操作系统的第二当前系统时间判断所述预设标识的状态是否为第一有效状态,所述第一有效状态用于表征所述第二当前系统时间等于所述测试终止时间;
当所述预设标识的状态为所述第一有效状态时,将所述第二当前系统时间确定为所述空闲任务的结束时间,并根据所述空闲任务的启动时间和所述空闲任务的结束时间计算所述空闲任务的运行时长;
根据所述空闲任务的运行时长和所述测试时段的时长计算CPU负载率。
优选的,所述开启所述空闲任务运行线程,并在运行所述空闲任务过程中根据所述嵌入式实时操作系统的第二当前系统时间判断所述预设标识的状态是否为第一有效状态,之后,还包括:
当所述预设标识的状态不为所述第一有效状态时,判断所述嵌入式实时操作系统中是否存在任务抢占;
当所述嵌入式实时操作系统中存在任务抢占时,在所述空闲任务运行线程之后添加第二接口函数线程;
开启所述第二接口函数线程,并根据所述嵌入式实时操作系统的第三当前系统时间判断所述预设标识的状态是否为第二有效状态,所述第二有效状态用于表征所述第三当前系统时间等于所述测试终止时间;
当所述预设标识的状态为所述第二有效状态时,将所述第三当前系统时间确定为所述空闲任务的结束时间,并根据所述空闲任务的启动时间和所述空闲任务的结束时间计算所述空闲任务的运行时长;
根据所述空闲任务的运行时长和所述测试时段的时长计算CPU负载率。
优选的,还包括:
当所述预设标识的状态不为所述无效状态,或者所述第一当前系统时间不在所述测试时段内时,开启所述空闲任务运行线程并运行所述空闲任务。
优选的,上述任意一项技术方案中,所述根据所述空闲任务的运行时长和所述测试时段的时长计算CPU负载率,包括:
根据所述测试时段的时长和所述空闲任务的运行时长计算静态配置运行时长;
依据所述静态配置运行时长和所述测试时段的时长计算CPU负载率。
一种CPU负载率计算装置,包括:更新添加模块、第一开启判断模块、时间确定模块、第二开启判断模块、第一确定计算模块和第一计算模块;
所述更新添加模块,用于当接收到携带有测试时段的测试通知时,根据嵌入式实时操作系统的系统时间实时更新预设标识的状态,并在所述嵌入式实时操作系统的空闲任务运行线程之前添加第一接口函数线程;
所述第一开启判断模块,用于开启所述第一接口函数线程,并根据所述嵌入式实时操作系统的第一当前系统时间判断所述预设标识的状态是否为无效状态,所述无效状态用于表征所述第一当前系统时间未到达所述测试时段内的测试终止时间;
所述时间确定模块,用于当所述预设标识的状态为所述无效状态,并且所述第一当前系统时间在所述测试时段内时,将所述第一当前系统时间确定为空闲任务的启动时间;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京经纬恒润科技有限公司,未经北京经纬恒润科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710196842.2/2.html,转载请声明来源钻瓜专利网。