一种WindowsCE操作系统下的内存优化方法

文档序号:6557175阅读:245来源:国知局
专利名称:一种Windows CE操作系统下的内存优化方法
技术领域
本发明属于嵌入式操作系统Windows CE的应用领域,尤其是一种Windows CE操作系统下的内存优化方法。
背景技术
IPTV即交互式网络电视作为研究热点,已经持续了 20余年的时间,在世界范围内受到广泛的重视。它不同于传统的电视,具有内容丰富,交互性强,获取信息自由度高等特点。用户端通过机顶盒接入网络信号,IPTV的电子节目单(EPG)程序存储在机顶盒里面,开机后程序自动运行展示初始用户界面,用户只需利用遥控或者键盘就可以选择浏览各种文本信息或者点播、直播视频资源。可以非常容易地将电视服务和在线信息咨询、娱乐、教育及商务功能结合在一起,在未来的竞争中处于优势地位。目前,机顶盒的硬件条件往往难以满足用户端程序对于内存的需求。在实际应用中,某些对内存需求较高的进程运行后可能造成系统死机等异常,比如视频播放时加载的缓冲需要占用较多内存。随着上层业务发展,尤其是面对高清视频的市场趋势,如何协调软硬件发展的矛盾,用较小的成本实现良好的运营效果是至关重要的。

发明内容
本发明目的在于针对以上不足,在传统嵌入式平台软件开发对内存优化方法的基础上,提出一种在程序运行过程中动态分配平台设备RAM中程序内存(program memory) 和存储内存(object store)的方法。本发明的技术方案为在软件运行过程中实时监控系统内存状况,根据需要动态调整内存比例。本发明的技术方案包括内存实时监控过程,内存比例动态调整过程。所述内存实时监控过程,是通过在定时器频率下不间断读取操作系统可用的程序内存值大小,根据监控结果判断是否触发内存比例动态调成过程;
所述内存比例动态调整过程,是当内存实时监控过程中监控结果超过预设的阈值时, 通过动态调整程序重新设置程序内存和存储内存的比例大小。在上述技术方案中,所述内存实时监控过程包括对总程序内存和操作系统的可用程序内存的监控,即当可用程序内存过小且存储内存足够时,为了不妨碍程序的持续正常运行,随即触发内存比例动态调整过程。在上述技术方案中,所述内存比例动态调整过程包括根据可用程序内存的情况自动增加程序内存比例和根据可用程序内存的情况自动增加存储内存比例;增加程序内存比例是为了给程序运行提供内存空间,增加存储内存比例是为了满足用户终端程序在进行远程交互时接收文件时的内存需求。在上述技术方案中,所述的一种Windows CE操作系统下的内存优化方法包括以下步骤(1)在欲进行内存优化的程序中导入Coredll.dll,并声明Windows CE操作系统下内存状态的结构体;
(2)根据实际项目需求制定可用程序内存和存储内存的阈值;其中,系统可用的物理内存阈值根据欲开发程序的内存需求特性选取,系统的存储内存阈值参考客户机开机后存储内存“正在使用”部分和开发程序对临时传输文件需求而定;
(3)启动内存实时监控过程,开启一个按一定频率周期运行的程序监控进程,根据设置的阈值对操作系统内存进行监控;
(4)当监控结果达到阈值时,触发内存比例动态调整过程,调节存储内存和程序内存的比例大小,从而实现系统内存的动态调节。在上述技术方案中,所述内存实时监控过程,根据开发工具特征,在欲进行内存优化的程序中选择能以某频率周期不间断响应的函数,在C#中选用timer定时器控件,然后根据需要设置时间间隔参数。在上述技术方案中,所述内存比例动态调整过程,包括自动增加程序内存比例和自动增加存储内存比例,确定触发响应的判断条件,通aktSystemMemoryDivision方法响应监控结果超过阈值的情况,具体实现步骤如下
设M表示自适应调整后程序内存值;Mtl表示系统初始的程序内存值;R表示存储内存; Rth表示滑块左移的存储内存的门限值;Rth'表示滑块右移的存储内存门限值;A表示可用程序内存值;Ath表示滑块左移的可用程序内存门限值;Ath'表示滑块右移的可用程序内存门限值;Δ N表示程序内存增量值;(Ath< Ath',Rth< Rth') 得到公式如下 M = M0+f (R, A) 上式中
权利要求
1.一种Windows CE操作系统下的内存优化方法,其特征在于该方法包括内存实时监控过程和内存比例动态调整过程;所述内存实时监控过程,是通过在定时器频率下不间断读取操作系统可用的程序内存值大小,根据监控结果判断是否触发内存比例动态调成过程;所述内存比例动态调整过程,是当内存实时监控过程中监控结果超过预设的阈值时, 通过动态调整程序重新设置程序内存和存储内存的比例大小。
2.根据权利要求1所述的一种WindowsCE操作系统下的内存优化方法,其特征在于 所述内存实时监控过程包括对操作系统的总程序内存和操作系统的可用程序内存的监控, 即当可用程序内存过小且存储内存足够时,为了不妨碍程序的持续正常运行,随即触发内存比例动态调整过程。
3.根据权利要求1所述的一种WindowsCE操作系统下的内存优化方法,其特征在于 所述内存比例动态调整过程包括根据可用程序内存的情况自动增加程序内存比例和根据可用程序内存的情况自动增加存储内存比例;增加程序内存比例是为了给程序运行提供内存空间,增加存储内存比例是为了满足用户终端程序在进行远程交互时接收文件时的内存需求。
4.根据权利要求1所述的一种WindowsCE操作系统下的内存优化方法,其特征在于该方法包括以下步骤(1)在欲进行内存优化的程序中导入Coredll.dll,并声明Windows CE操作系统下内存状态的结构体;(2)根据实际项目需求制定可用程序内存和存储内存的阈值;其中,系统可用程序内存阈值根据欲开发程序的内存需求特性选取,系统的存储内存阈值参考客户机开机后存储内存“正在使用”部分和开发程序对临时传输文件需求而定;(3)启动内存实时监控过程,开启一个按一定频率周期运行的定时器监控进程,根据设置的阈值对操作系统内存进行监控;(4)当监控结果达到阈值时,触发内存比例动态调整过程,调节存储内存和程序内存的比例大小,从而实现系统内存的动态调节。
5.根据权利要求1或2或4所述的一种WindowsCE操作系统下的内存优化方法,其特征在于所述内存实时监控过程,根据开发工具特征,在欲进行内存优化的程序中选择能以某频率周期不间断响应的函数,在C#中选用timer定时器控件,然后根据需要设置时间间隔参数。
6.根据权利要求1或3或4所述的一种WindowsCE操作系统下的内存优化方法,其特征在于所述内存比例动态调整过程,包括自动增加程序内存比例和自动增加存储内存比例,确定触发响应的判断条件,通过ktSystemMemoryDivision方法响应监控结果超过阈值的情况,具体实现步骤如下设M表示自适应调整后程序内存值;Mtl表示系统初始的程序内存值;R表示存储内存; Rth表示滑块左移的存储内存的门限值;Rth'表示滑块右移的存储内存门限值;A表示可用程序内存值;Ath表示滑块左移的可用程序内存门限值;Ath'表示滑块右移的可用程序内存门限值;Δ N表示程序内存增量值;(Ath< Ath',Rth< Rth')得到公式如下
全文摘要
本发明属于嵌入式操作系统WindowsCE的应用领域,提供一种WindowsCE操作系统下的内存优化方法,通过实时监控系统的内存使用状况,在系统的程序内存空间不足时适当减小存储内存大小,而当程序内存需求较低时适当恢复性提高存储内存大小,从而达到系统内存使用的最佳效率。本发明应用可以提供WindowsCE嵌入式平台软件开发中内存优化的新模式,尤其是在该平台下的IPTV用户终端程序开发中有广泛的应用背景,在终端设备内存有限的情况下,能够根据需要及时调节内存分配,实现灵活的内存管理使用机制。
文档编号G06F12/08GK102253900SQ20111015740
公开日2011年11月23日 申请日期2011年6月13日 优先权日2011年6月13日
发明者刘清堂, 朱晓亮, 肖乐义 申请人:华中师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1