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