リロケーション 【relocation】

概要

リロケーション(relocation)とは、機械語プログラム実行時に、特定のメモリ位置に配置し、プログラム中のアドレス参照をその位置に適したものに変換すること。

機械語コンピュータCPUが直に解釈して実行できる形式の言語で、高水準のプログラミング言語とは異なり、データの格納や参照をうためにはメインメモリRAM)上の特定の位置を指示する必要がある。

現代のコンピュータでは仮想記憶が用いられるため、プログラム中でのメモリ位置の指定も論理アドレスプログラム先頭からの相対位置など)を用いてわれ、実行時メモリ上のどの位置にプログラムが置かれても支障がない「リロケータブル」(relocatable)な構成になっている。

最終的にデータを扱うにはメモリの物理的な番地(物理アドレス)を指し示す必要があるため、論理アドレスで記述された位置指定を、実際にプログラムが置かれた位置に応じた物理アドレスに変換する。このアドレス変換処理をリロケーションという。

静的再配置 (static relocation)

プログラムメインメモリに読み込む実行開始時(ストレージからのロード時)にまとめて論理アドレスから物理アドレスへの変換をう方式を「静的再配置」という。実装が単純だが、実行中に別の位置へプログラムを移動することはできない。

動的再配置 (dynamic relocation)

メモリ位置を参照する命令を実行する瞬間にアドレス変換をう方式を「動的再配置」という。オペレーティングシステムOS)によって実行中のプログラムの位置を移動させることができ、断片化したメモリ上の空き領域を束ねて連続した空間を得る「メモリコンパクション」が可能となる。

(2021.10.28更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる