1

ELFセクションの仮想アドレスと物理アドレスについてこの基本的な疑問があります。

objdump -hは、論理アドレスと物理アドレスのセットを示します。

$ objdump -h my.elf
Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         0003c3d0  00080000  00080000  00010000  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE

また、理論上、LMA(物理アドレス)はロードアドレスとも呼ばれ、これはアプリケーションをロードする必要のあるアドレスです。

すべて問題ありませんが、私の質問は、なぜこれほど早く物理アドレスを割り当てるのかということです。ロードアドレスについて言及しているプログラムを起動したが、ロード中に、システムは、ロード可能なアドレスが属するページフレームがすでに他のタスクに割り当てられていることを検出した場合はどうなりますか。その場合、システムはプロセスを待機するのでしょうか、それともすぐにページをスワップアウトして、ページを使用可能にするのでしょうか。

利用可能なページフレームに基づいて、elfセクションをロードするアドレスをシステムに決定させると、はるかに良いと思いませんか。

4

1 に答える 1