当前位置: 技术问答>linux和unix
有关系统休眠跟定时任务问题
来源: 互联网 发布时间:2016-05-05
本文导语: 现在有这样一个需求,因为是电池供电的终端设备,为了省电所以会经常进入休眠模式,但又有一些定时需要触发的任务需要运行。这就有了个冲突,休眠过程中怎么让定时任务启动? 另外,Linux自身提供的crond服务...
现在有这样一个需求,因为是电池供电的终端设备,为了省电所以会经常进入休眠模式,但又有一些定时需要触发的任务需要运行。这就有了个冲突,休眠过程中怎么让定时任务启动?
另外,Linux自身提供的crond服务,可不可以在Linux系统处于休眠的时候也能让时间到的定时任务得到运行?
另外,Linux自身提供的crond服务,可不可以在Linux系统处于休眠的时候也能让时间到的定时任务得到运行?
|
这两位说的就是解决方法,进入sleep时,设置一个定时器,然后到时间后由定时器中断将系统从sleep mode中唤醒,进行相关 处理,处理完后从新进入Sleep mode.
|
正常理解是,对于普通的PC机(包括笔记本机)如果“待机”,则操作系统仍然在运行,所以可以在操作系统级解决问题;而如果“休眠”,操作系统已经转储到外存上去了,所以必须在硬件上“唤醒”系统。
而对于嵌入式系统或者掌上机,印象中好象机制有所不同,这些机器当关闭其电源按纽时,实际好象只是进入了“深度待机”状态,系统仍然在工作。
而对于嵌入式系统或者掌上机,印象中好象机制有所不同,这些机器当关闭其电源按纽时,实际好象只是进入了“深度待机”状态,系统仍然在工作。
|
建议:
1. 不进入深度休眠
2. 在 LCD 控制器驱动中增加背光灯控制,到时间之后关闭背光灯
但是我也不知道手机是怎么实现关机闹钟的
1. 不进入深度休眠
2. 在 LCD 控制器驱动中增加背光灯控制,到时间之后关闭背光灯
但是我也不知道手机是怎么实现关机闹钟的
|
LS 的方案会很耗电的
对于便携式嵌入式系统,一般都有RTC硬件时钟,先设置好相应的寄存器,当事先设置的条件满足时,用中断来唤醒进入sleep的系统。
对于便携式嵌入式系统,一般都有RTC硬件时钟,先设置好相应的寄存器,当事先设置的条件满足时,用中断来唤醒进入sleep的系统。
|
就我现在的知识,觉得休眠(Windows系统内存转储后关闭计算机)后的计算机不能执行任何程序,休眠和待机不一样,休眠是可以断电的。
|
我写了一个测试程序,在我的PC机上在S1状态(i.e. standby), 和S3状态(i.e. mem)
crond 都能正常运行我写的这个程序.
crond 都能正常运行我写的这个程序.
|
如果是手持设备的话,可以考虑用芯片的硬件定时器定时触发中断。用硬件中断唤醒系统来处理定时服务。
|
对休眠现在还不是非常了解.帮顶
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。