本发明涉及linux系统服务执行脚本访问内存领域,具体是涉及一种用于机顶盒cpu温度采集的方法。
背景技术:
linux对内存地址的访问是通过物理内存的全映像dev/mem/完成,通过open("/dev/mem",o_rdwr|o_sync),然后mmap,接着就用mmap的地址来访问物理内存。因为需要上下文切换在用户和硬件之间传递消息和动作,所以该方式的响应时间慢。并且出于对内存空间的保护,只有特权用户才可以通过该方式访问物理内存,访问限制大。此外,现有的机顶盒cpu温度的采集获取,cpu常不能够在应用层进行控制,cpu的运行压力大。
技术实现要素:
本发明要解决的技术问题是,提供一种用于机顶盒cpu温度采集的方法,旨在解决原始物理内存访问限制大,响应时间慢的缺点,实现温度获取实时可控,能减轻cpu运行压力,以克服现有技术的不足。
为解决上述技术问题,本发明的技术方案是,包括以下步骤:
s1、在cpu上内置温度传感器,检测cpu温度,将cpu温度写入指定地址的内存中;
s2、系统服务执行温度获取脚本,将温度获取脚本放置指定目录,通过将温度获取脚本加入系统服务中,实时运行温度获取脚本,保证温度的实时性和有效性;
s3、温度获取脚本访问内存,通过系统内置温度获取脚本绕开/dev/mem/机制,访问系统内存获取系统温度,将温度保存在指定的系统属性中,通过指定的属性访问获得系统温度,提供给上层应用访问。
上述的用于机顶盒cpu温度采集的方法是,linux系统服务随机顶盒的运行而一直存在,并且可以在应用层关闭或运行该系统服务,控制温度获取服务的运行,降低cpu压力。
与现有技术比较,本发明的有益效果是:
本发明通过温度获取脚本访问物理内存的值写入系统属性中,将温度获取脚本执行加入系统服务中,在应用层控制系统服务,读取系统属性的值来实时获取cpu温度,降低了cpu温度获取的访问限制,缩短响应时间,提高cpu温度获取的实时性和有效性。
附图说明
图1是本发明用于机顶盒cpu温度采集的方法流程图。
具体实施方式
如图所示,本发明涉及的一种用于机顶盒cpu温度采集的方法,包括以下步骤:s1、在cpu上内置温度传感器,检测cpu温度,将cpu温度写入指定地址的内存中;s2、系统服务执行温度获取脚本,将温度获取脚本放置指定目录,通过将温度获取脚本加入系统服务中,实时运行温度获取脚本,保证温度的实时性和有效性;s3、温度获取脚本访问内存,通过系统内置温度获取脚本绕开/dev/mem/机制,访问系统内存获取系统温度,将温度保存在指定的系统属性中,通过指定的属性访问获得系统温度,提供给上层应用访问。
脚本访问内存得到温度写入属性中:
linux系统服务随机顶盒的运行而一直存在,并且可以在应用层关闭或运行该系统服务,控制温度获取服务的运行,降低cpu压力。