【问题标题】:embedded linux, application state freeze, relaunch嵌入式 linux,应用程序状态冻结,重新启动
【发布时间】:2012-04-04 12:46:50
【问题描述】:

我们有一个嵌入式应用程序,现在它需要保存并重新加载其状态。就像在 PC 游戏中一样,您必须在外出呼吸新鲜空气之前保存它。该产品本质上是安静的进化,没有适当的设计,因此无法识别要保存的数据。

该软件是 C 语言,因此所有数据都有固定地址(.data 段),它也是确定性的,a 并且没有动态内存分配。所以理论上我会在一个文件中备份这个数据段,并在重新启动应用程序时从文件中更新它。这种方法可能会节省比所需更多的数据,但我可以接受。

如何在较短的执行时间内做到这一点?
另外如何在运行时识别 .data 段的开始和结束?

【问题讨论】:

    标签: c linux embedded arm embedded-linux


    【解决方案1】:

    您需要application checkpointing,所以Berkley Lab Checkpoint Restart 库可能会对您有所帮助。

    如果您确定所有数据都有固定地址等...

    要了解您当前的内存段和映射,请(从您的应用程序)读取/proc/self/maps 文件。还有/proc/self/smaps等。了解更多proc(5),即/proc/

    【讨论】:

      猜你喜欢
      • 2021-08-17
      • 1970-01-01
      • 2015-01-09
      • 2013-08-23
      • 2016-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-27
      相关资源
      最近更新 更多