別のプロセスのイメージ全体をメモリにページアウトしますか?数週間後、私たちのITスタッフは、すべての「コア」ネットワークスイッチを交換します。これにより、ネットワークがダウンします。これは通常の営業時間後に行われます。この間、いくつかのユーザーは私が書いたプログラムを使用しています。私のプログラムのローカルコピーを各ユーザのマシンにインストールするのは悪夢です。プログラムは通常、ネットワーク共有から実行されます。プログラムがネットワークにアクセスする唯一の時間は、プログラムが実行可能な(イメージ)コードを実行するときです。 Windowsのメモリマネージャーを使用してイメージ全体をメモリにロードし、ネットワークがオンラインに戻るまで「ロック」しておく方法を教えてください。共有可能なメモリをロックする
答えて
あなたは/ swaprunを使用してプログラムを再リンクすることができます。netオプション:
これはうまくいきません。
Windowsは実行ファイルの「静的な」コピーを必ずしもメモリにロードするとは限りません。チャンクをシャッフルしたり、ページパーツを出し入れすることは自由です。多くの場合、プログラムの実行が開始された後、実行可能ファイルからリソース(イメージ、文字列など)が読み込まれます。外部ライブラリを動的にロードすることがよくあります。
編集を追加する:
を「プロセスの全体像」のようなものはありません。たとえば、すべてのスレッドは独自の割り当てを取得します。
別の場所(つまり、バイナリのローカルコピー)からの実行がうまくいかない理由を説明してください。
一時ディレクトリに自分自身をコピーし、別のプロセスとしてそのコピーを実行してから、自分自身を殺す(最初のコピー)ように書くことができます。私はこの小さなジャグリングを以前にやったことがありますが、それはtempディレクトリから実行されるかどうかにかかわらず、プログラムがどのように動作するかによって異なります。
これはうまくいくかもしれませんが、彼は彼のプログラムが "インストールされている"と言っているようです。 – egrunin
@egruninええ、それは私が疑問に思ったことです。彼らはそれをインストールせずにネットワークから単に実行することができれば、別の場所にまっすぐにコピーされていれば、どのような違いがありますか。だからこそ、私はそれがどのように機能するかにかかっていると言いました。 – AaronLS
これは興味深い考えですが、私のプログラムでは起動時にプログラムと同じディレクトリに存在する必要があるファイルがいくつか必要です。私は別の考えがあります。 EXXのようなEXEコンプレッサでEXEを圧縮すると、圧縮解除されたイメージはプライベートと見なされるため、サーバー上のイメージではなくページファイルによって "バックアップ"されます。どう思いますか? – Mike
- 1. ビデオカード:共有システムメモリと使用可能なメモリの合計をC#
- 2. Androidの設定 - 共有可能な共有方法
- 3. 利用可能なFacebookの共有ダイアログ
- 4. RDMAメモリ共有
- 5. 共有メモリと実行可能ファイルの複数のコピーを実行する
- 6. cython共有メモリ - ブロック
- 7. セマフォと共有メモリ
- 8. ビジュアルスタジオと共有メモリ
- 9. MVC3&Javascript/JQuery - 共有可能なウィジェットを作成するには?
- 10. Android:他のアプリとドローイング可能なリソースを共有する
- 11. 親プロセスと子プロセスがIPC共有メモリを共有する
- 12. 共有メモリを持つクラウド
- 13. 可能なアプリにファイルを共有するためのiOS固有の方法
- 14. Devise - ロック可能なアカウントをロックする方法
- 15. モジュール間でメモリを共有する
- 16. Linuxで実行可能なメモリページを共有しますか?
- 17. 共有メモリ時々nullではないが
- 18. 共有可能なページ内の.NET JITによるアセンブリ
- 19. uda共有メモリ上書き?
- 20. Cメモリ共有の問題
- 21. データ配信と共有メモリ
- 22. CUDAプログラミング - 共有メモリ構成
- 23. JavaとC++の共有メモリ
- 24. Symbianの共有メモリの例
- 25. postgresql共有メモリの設定
- 26. 共有メモリでのバンクコンフリクトフリーアクセス
- 27. Pythonプロセス間の共有メモリ
- 28. activerecordメモリ内共有キャッシュ
- 29. 共有メモリおよびグローバルメモリアクセス
- 30. C++クラッシュの共有メモリ
私はこのことを認識です。私は画像をメモリにロックしたい。これを行うVirtualLock関数があります。しかし、それは呼び出すプロセスだけであり、イメージの各セクションのベースアドレスと長さも把握する必要があります。 – Mike
ローカルディスクにプログラムをコピーすることは、起動時にサーバー上のいくつかのファイルにアクセスする必要がない場合に機能します。申し訳ありませんが、私はそれについて言及しませんでした。私はいくつかのシステムAPIを呼び出す小さなプログラムを書いて、EXEのコードセクションとデータセクションをメモリに「ロック」することを望んでいました。 – Mike