保存程序状态

保存程序状态

我一直想知道我是否可以从内存中快照程序的当前状态,以便在同一台 PC 上或甚至可能在另一台 PC 上再次加载。理想情况下,它应该是任意程序的解决方案。

我使用 Windows 7,并且越来越习惯使用 Ubuntu,如果有办法使用这两种操作系统的话。基本上,我想知道我是否可以实现一种选择性的操作系统休眠功能,将所有内存都提交到磁盘?

至少对我来说,这有无数种用途,从程序调试到一般便利。如果可能的话,它是数据安全的还是更黑客化、更危险的?

答案1

与硬盘不同。Ram 没有任何“结构”。

即使硬盘在逻辑上将数据散布到各处,数据对于用户来说仍然是虚拟排序的。

在硬盘上,您可以轻松复制程序的 appdata 文件夹以获取程序关联的用户特定数据。但是,这不是运行时数据。

在内存上做同样的事情。您可以使用软件来跟踪程序分配的所有数据(当然还有数据的存储位置)。或者强制程序将其数据保存在特定的内存范围内。这可能通过在沙箱或虚拟机中运行来实现。

这是否是黑客行为?没有什么比管理程序内存更危险的了,程序内存不是程序本身,或者在某些情况下不是操作系统。

这就是为什么我真的推荐使用虚拟机,至少可以减少这对您的系统造成的损害。

保存在 RAM 上的数据可以依赖于硬盘数据、网络数据、时间、日期和其他状态。

如果您这样做,那么复制硬盘数据也是必须的。

大多数程序都具有保存/加载功能是有原因的。您使用的哪些软件不够用?

还请注意,在大多数情况下,这不能用于绕过软件的免费到期日期。这只有在软件需要连续运行一定时间的情况下才适用。复制特定于应用程序的硬盘数据(我也建议您这样做)是另一回事。

有一个专门为集群开发的 Linux 软件叫作 SmartSuspend:http://www.jaryba.com/evaluate-smartsuspend

如果您要查找其他可执行此操作的软件,则很有可能它下面是虚拟机。我会四处看看我能做些什么来使特定于程序的虚拟化更加灵活和自动化。例如,有虚拟运行程序并仍在常规窗口中显示它们的方法。以及用于自动启动程序虚拟机的快捷方式。

你也不可能“随心所欲”地这样做。正如我之前所说,数据散布在各处,除非你从一开始就跟踪它,否则你无法找到特定程序存储了哪些数据。

相关内容