5

「プロセス」の概念を理解する方法は、実行可能プログラムの実行中のインスタンスであるということです。exeはセカンダリメモリにあり、実行中のインスタンスはRAMにあります。この理解が正しければ、この抽象的な説明の本当の意味を知りたいと思います。「プロセスを「ページ」に分割し、一部のページをRAMで実行し、残りを必要に応じてスワップするためにセカンダリメモリに保持する」?ここでの問題は、仮想メモリのコンテキストにあります。

モデレーターからの提案に従って、質問に「プログラミング」コンテキストを追加します。

1から100までの数字を一覧表示する小さなプログラムを作成するとします(または)「Helloworld」を印刷します(または)デスクトップユーティリティを使用してテキストファイルをスキャンし、デスクトップウィンドウ内でファイル内の単語を1つずつ印刷します。私が持っている最終的な実行可能ファイルを考えると、これらのプログラムがコンパイルされてリンクされたら、実行可能ファイルを実行するときに、どのように実行可能ファイルを「分割」してRAM内で部分的に実行できますか?ある時点でRAMに「あるべき」と「すべきでない」という考えをどのように把握して視覚化するのでしょうか。

4

1 に答える 1

0

仮想アドレスから物理アドレスへの変換で、それ(分割)がすぐそこにあります。仮想アドレス空間は、1 キロバイトまたは数キロバイト (通常はすべて同じサイズ) のブロックに分割され、各ブロックは同じサイズの物理メモリのチャンク (ページ) に関連付けることができます。

まだ使用されていない、または最近使用されていない実行可能ファイル (またはプロセス) の部分は、ディスクから物理メモリにコピーする必要がないため、仮想アドレス空間のそれぞれの部分が関連付けられていない可能性があります。物理メモリのいずれか。システムの物理メモリの空き容量が少なくなると、一部のページの目的が変更され、必要に応じてその内容がディスクに保存されます (または、読み取り専用のデータ/コードが含まれている場合は保存されません)。

于 2013-02-17T08:53:12.487 に答える