0

私の理解では、プログラムには仮想メモリ内の連続したアドレス空間が割り当てられます。アドレス空間には、ヒープ、スタック、データおよびテキスト セクション、および一部の空き領域が含まれます。

しかし実際には、これらのセクションは物理メモリ (RAM) 内で連続していません。この場合、外部フラグメンテーションを解決できませんか? つまり、外部断片化の全体的なポイントは、十分な連続スペースがないことです。それでは、セグメントを分割して、連続していないスペースを使用してみませんか?

私は何かが欠けていることを知っています。誰かがこれについて詳しく説明できますか?ありがとう。

4

2 に答える 2

1

論理ページから物理ページへのマッピングは、断片化の問題を 1 つ解決しますが、すべてを解決するわけではありません。通常、オペレーティング システムには、断片化する可能性のあるメモリ プールがあります。また、オペレーティング システムが物理メモリを操作する必要があります。1 つの例は、ページ テーブル自体です。ページ テーブルの一部 (すべてではないにしても、基になるハードウェアによって異なります) は、物理メモリ内に存在する必要があります。

于 2016-11-17T12:57:24.600 に答える
0

物理メモリ: 物理メモリは、コンピューターの RAM またはプライマリ メモリを指します。物理メモリは揮発性メモリです。したがって、データを保持するには継続的な電力の流れが必要です。

仮想メモリ:仮想メモリは論理メモリです。つまり、オペレーティングシステムによって実行されるメモリ管理技術です。仮想メモリを使用すると、プログラマは利用可能な物理メモリよりも多くのメモリをプログラムに使用できます。物理メモリが 4GB で仮想メモリが 16GB の場合、プログラマは 16GB の仮想メモリを使用してプログラムを実行できます。仮想メモリを使用すると、物理メモリより多くのメモリを必要とする複雑なプログラムを実行できます。

物理メモリと仮想メモリの主な違いは、物理メモリはマザーボードに接続されたシステムの実際の RAM を指すことですが、仮想メモリは、ユーザーが実際の物理メモリよりも大きなプログラムを実行できるようにするメモリ管理手法です。

于 2021-03-28T21:00:19.697 に答える