Relocation (computer science)とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Relocation (computer science)の意味・解説 

リロケータブル

(Relocation (computer science) から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/06/20 14:50 UTC 版)

ナビゲーションに移動 検索に移動

リロケータブル(再配置可能)という形容詞は、プログラムの属性を示し、メモリ上の何処に配置しても差し支えなく動作できる性質を指して言う。そのようなバイナリリロケータブルバイナリと言う。殊に、バイナリプログラム、実行形式と呼ばれるアプリケーションプログラムや、ライブラリ、モジュールで、この属性の有無が問題となる。

再配置可能にするための方法としては、再配置の際に修正が必要な箇所をリストアップしたものを付加し、再配置の際にフィックスアップするというものと、そもそも配置されるアドレスに依存するようなコードを含まないようにする、というものがあり、後者を位置独立(いちどくりつ)と言う。

概要

プログラムやライブラリ、モジュールを補助記憶装置から主記憶装置に読み込むにあたり、メモリ上の任意のアドレスに読み込むことが出来るものが、リロケータブルなプログラム、ライブラリ、モジュールである。たとえばOS-9では、プログラムやモジュールを、メモリの空いている所があれば任意の番地にロードし、実行を開始する事が出来る。

対照的にCP/Mでは、アプリケーションは所定の番地(0100Hより以下)に配置される事を前提として作成されており、単一のプログラムのロード・実行を開始したら、終了するまで他のプログラムをロード・実行を開始できない。

位置独立のための条件

位置独立なプログラムであるためには、当該プロセッサが、PC相対アドレッシング・モードを持つことが重要である。

相対分岐

当該分岐命令の置かれた番地に対し相対番地で示される場所へ分岐できる命令を持つ事が不可欠である。これにより、プログラムがどの場所に配置されても、所定の場所へ分岐することが出来る。

これに対して絶対番地を指定して分岐する方法では、プログラムを作成した際に想定したアドレスに配置しないと、分岐によってプログラム内の別の場所に分岐したり、プログラムが置かれていない場所に分岐して暴走する。

メモリへのアクセス

当該メモリアクセス命令の置かれた番地に対して相対番地で示される場所へメモリアクセスできる命令を持つことが重要である。これにより、プログラムがどの場所に配置されても、プログラム内に格納された定数を正しく読み出したり、プログラム内に確保された作業領域を正しく使用できる。

尚、呼び出し元のコール命令の配置アドレスをインデックスレジスタに格納するサブルーチンを用意しておき、これをコールすることで自身の配置アドレスを確認する方法もある。これにより、メモリアクセスについては擬似的にPC相対アドレッシングが実現できる。

再配置

MS-DOSのexe形式の実行ファイルでは、プログラムをロードした後に、セグメント情報を書き換えて再配置をおこなっている。

仮想記憶を使用するコンピュータでは、メモリが仮想化されているため、複数のプロセスを同時に実行する際でもアドレスをずらす必然性がない。そのため、再配置をしないシステムもある。

関連項目




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Relocation (computer science)」の関連用語

1
8% |||||

2
出生力 百科事典
4% |||||

Relocation (computer science)のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Relocation (computer science)のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのリロケータブル (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS