私は、プログラムのコンパイルとロードのさまざまな段階でメモリ割り当てがどのように機能するかを理解しようとしています。メモリアドレス:Linker Vs. Loader
1)コンパイラおよびアセンブラアドレス0
2)リンカーは各記号の定義とメモリ位置 を関連付ける、その後の参照のすべてを変更することによって、これらのセクションを再配置で開始コードとデータセクションを生成 それらのシンボルに、このメモリ位置を指すようにします。
3)ローダは、プロセスのコンテキスト内で、メインメモリにプログラムをロードし、ひいては
それはページングと関連するすべてのメモリ管理操作が行われていることをこの段階です。ローダによって割り当てられたものに関連するリンカによって割り当てられたアドレスである方法
1):
私の質問は、約2のものです。リンカのアドレスに仮想アドレスを呼び出すことはできますか?
2)すべてのプログラムが最終的に異なる物理アドレスにマッピングされている同じ仮想アドレス(?)