嵌入式操作系统休眠唤醒后自动运行程序的方法 自动执行引擎 - 嵌入式操作系统休眠唤醒后自动运行程序的方法 北京中科院软件中心有限 陈鹏 王树志 董孝 为了提高系统的启动速度,通常采用基于休眠技术的方式来实现嵌入式系统的快速启 动。例如,在一些数字电视中,采用休眠技术以后的启动时间要比原来的启动时间约快 1/3。但基于休眠技术的启动方法有其不足之处:在保存内存内容时只能把内存中的信息 以快照的形式保存到磁盘或其他外部存储设备,原来系统内某些正在运行的动态进程及 进程本身的执行过程不能被完全保存下来,从而导致系统重新启动后此部分进程不能正 常运行;基于休眠技术的启动方式一旦以快照的形式保存后其里面的内容将无法改动。 基于此,本文运用一种新方法,实现了基于休眠的嵌入式操作系统启动后,可自动运行 任何形式的目标脚本和应用程序。 1 休眠唤醒后程序自动运行的方法 最新的Linux2.6内核都支持休眠和待机机制,PC系统中的实现方式有suspend2、sw susp、TuxOnIce等技术,既可以把镜像文件保存到交换分区,也可以保存到一个文件。 Linux中这些休眠的具体实现方式有内核方式和软件方式两种,但两种方式都把休眠过程 分为两个阶段: (1)SUSPEND阶段:保存当前系统各种状态到非易失性存储设备并关机;(2)RESUME阶 段:系统重新启动,引导后恢复已保存的状态。一般嵌入式操作系统的休眠过程如图1所 示,休眠后恢复过程如图2所示。 [pic] 本文提出一种基于休眠开关如图3所示的唤醒后程序自动运行方法。此方法的系统整 体框架分为自动执行引擎、开关控制进程、休眠开关和配置文件4个部分。 1.1 自动执行引擎 自动执行引擎采用守护进程实现的方式。所谓守护进程就是Daemon进程,是Linux中 的后台服务程序,是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某……