【问题标题】:is there any way of trasnfering a application running on one system to other system? [closed]有没有办法将在一个系统上运行的应用程序转移到另一个系统? [关闭]
【发布时间】:2013-08-02 12:18:57
【问题描述】:

我想知道有没有办法将应用程序(比如 Firefox)从一个系统迁移到另一个系统? 如果是这样,请告诉我...

示例:假设我有两个系统说 A ,B 。并且 Firefox 正在 A 中运行,现在我想将正在运行的应用程序 (Firefox) 原样转移到 B

我想,我们可以迁移应用程序的进程稳定,为什么人们不会那样想,如果他们不知道答案,他们会简单地标记问题?这不是我们应该回应堆栈社区中提出的问题的方式......任何擅长操作系统的人都应该如何思考是否可以将我们的进程状态转移到其他机器上,这样我们就可以在其他系统上获得相同的图像。如果是这样,请告诉我。提前谢谢..

【问题讨论】:

  • 嗯,安装在另一台机器上?
  • 您要迁移哪些实际应用程序?
  • @fedorqui, bmargulies, Athari, Luc M, Mark....我想,我们可以迁移我们的应用程序稳定的进程,为什么人们不这么想,他们简单了如果他们不知道答案,请标记问题?这不是我们应该回应堆栈社区中提出的问题的方式......任何擅长操作系统的人都应该如何思考是否可以将我们的进程状态转移到其他机器上,这样我们就可以在其他系统上获得相同的图像。如果是这样,请告诉我。提前谢谢..
  • @ Basile Starynkevitch 先生,我想如果我知道如何迁移进程?它易于迁移任何应用程序。不是吗?请纠正我..
  • 在 Linux 上迁移任意进程几乎是不可能的(这并不容易)。

标签: linux ssh operating-system


【解决方案1】:

你想要的叫做process migration,一般在Linux上是不容易实现的。

但是,如果您仔细设计您的应用程序并使用一些application checkpointing 机制,它可能是可能的(以某种非常有限的方式)。也许使用Berkeley Lab Checkpoint Restart 库会有所帮助。

不要期望迁移像 Firefox 这样复杂的应用程序进程。

另请阅读continuation passing stylevirtual machines。这是相关的。阅读Queinnec's Lisp in Small Pieces 和著名的SICP 也应该有很大帮助。另见Continuation-Passing C

在实践中,如果您从一开始就考虑到进程迁移,那么您可能能够为您自己的一些应用程序进行进程迁移(使用少量外部库,或者在检查点之间“原子地”使用它们)。

PS。随时问我更多,例如通过电子邮件,通过引用这个问题,解释您想要迁移的实际应用程序以及您阅读和尝试过的内容。这个主题出奇地有趣和困难(你可能可以在这方面获得博士学位)。

【讨论】:

  • 谢谢您,先生。我刚才有一个简单的红色进程迁移,我怀疑数据中心如何迁移他们的虚拟机?如果我们按照物理系统的方式考虑虚拟机也是一个进程。不是吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-20
  • 2015-07-08
  • 1970-01-01
  • 1970-01-01
  • 2011-03-04
相关资源
最近更新 更多