再配置とローダーの関係は？


リンカやローダについて勉強していると、「メモリに展開する」や「再配置」などという用語が出てきます。

はじめ「メモリに展開する」も「再配置」もどちらも同じ意味かと思ったのですが、  
どうやら同じ意味ではなく、「メモリに展開」がまさしくメモリに配置すること。  
「再配置」は、その配置したメモリのアドレスとシンボルの対応を管理すること。  
と思ったのですが、この認識であっていますでしょうか？

となると、前後関係がわかりません。メモリに展開した結果、たまたま今回配置されたアドレスを覚えておくことを「再配置」としているのか、その逆で、先にアドレスを決定したうえで、そこにローダーが配置しにいくのか。

（あまり本質問と関係ないですが、リンカのことをローダとも呼ぶ場合もあるようです）

再配置とロードの関係性について前後関係（処理の順番）を中心に教えてください。




概ねその理解であってると思います。用語には厳密な定義はありませんし、筆者それぞれの用語定義で語られているでしょうから、複数の筆者の文章を見比べたときに１つの語に複数の意味があったり、複数の語が同じ意味を持ったりはよくあることです。

その上で補足するならば、「再配置」は英語の **relocate** 、 **relocation**
の訳語の可能性があり、「位置をずらす」だけでなく「ずれた位置に合わせて調整する」というニュアンスも含んでいるかなと思います。  
そのため、あるモジュールをメモリに展開したら、そのモジュールを参照しているモジュールのアドレステーブルを更新するという行為が「再配置」という用語に込められているかなと。

