11

Windows の単一プロセスの状態をファイルに保存し、後ですべてのメモリが既にロードされている状態で実行中のプロセスを実行中の状態に復元するライブラリやソフトウェア、または方法はありますか?

開いているハンドルを再度開いたり、スレッドを開始したりする必要があることは承知していますが、少なくともヒープと単一のスレッド スタックを復元できますか?

この質問を見ましたが、答えはすべてLinux用であり、ほとんどの人はそれができないと言っています。

すべてのデータ構造をシリアライズ可能にして自分でできることは知っていますが、それがなくても可能かどうか知りたいです。

4

2 に答える 2

7

Raymond Chen (Windows の知識が曖昧になると、Jon Skeet の尻を蹴るかもしれません) は、それは不可能だと言います。

基本的に、プロセスがシステム リソース (あらゆる種類のハンドルなど) をまったく使用しない場合を除き、保存および復元できない OS 状態が常に存在します。

この問題を解決する最も実用的な方法は、Windows の別のインスタンスを実行する VM を作成し、その中でプロセスを実行することです。

  • nLiteを使用すると、ゲスト OS を可能な限り軽量にすることができます。
  • その後、VMWare VIX APIを使用して、VM をプログラムで一時停止/再開できます。
  • もちろん、これによりゲスト OS とそのプロセスが中断され、OS の状態の問題が解決されます。
于 2009-04-24T21:04:16.670 に答える
2

>> •nLiteを使えば、ゲストOSを極限まで軽量化できます。

上記のステートメントに追加するには - Windows XP の正式な軽量バージョンは、「XP Embedded」または「Windows Embedded Standard」です。これは、XP イメージを 40 MB までスリム化できる、XP のコンポーネント化されたバージョンです。

Windows 7 の「軽量」バージョンは Windows Embedded Standard 2011 で、現在ベータ版でダウンロード可能です (connect.microsoft.com/windowsembedded)

もちろん、NLite のようにフリーウェアではありません。

ありがとう、

スリカント

于 2009-09-10T18:15:58.570 に答える