再配置可能プログラム〜基本情報技術者合格のための学習法〜

基本情報

再配置可能プログラム

プログラムの4つの性質

プログラムを作成する際に、プログラムの特性を理解しておきましょう。
記憶管理で主記憶上でプログラムを移動すると、メモリアドレスを変化しているので、不具合が起こります。
しかしこちらの4つの性質を持つプログラムですと、問題なく実行できます。

再配置可能(リロケータブル)

プログラムは、主記憶装置(メモリ)に置かれて実行されますが、主記憶装置のどこにおいても実行可能であるという性質です。

ベースアドレス指定方式を用いるなどによって、プログラムがロードされた位置に応じて、メモリアドレスの情報を補正しているのです。
 命令やデータの主記憶での位置(アドレス)は、先頭アドレスからの相対アドレスで記述されています。OSはプログラムの先頭位置を置く主記憶でのアドレスをしてロードします。プログラムの実行ではプログラム内の命令やデータは「先頭位置+相対アドレス」に置かれます。

リロケータブル

再使用可能(リユーザブル)

主記憶装置にあるプログラムを、再ロードすることなく、何回でも繰り返し使用することができ、そして正しい結果が取得できるという性質です。

1回目に実行したときと、2回目に実行したときに同じ結果が得られるように、プログラムの最初か最後に初期化などの手続きが適切に行われている必要があります。
リユーザブルプログラムは、特定のプログラムから何度も呼ばれることも、複数のプログラムからも呼ばれることがありますが、同時に呼び出すことはできません(その場合は後述の「リエントラント」になります)。
 また、リユーザブルプログラムは、いつでも同じ処理を行うのが前提ですから、実行時に自らのコードを書き換えたり、内部の状態を表す変数などを変更したままにしてはいけません。

リユーザブル

再入可能(リエントラント)

リユーザブル(再使用可能)のプログラムで、同時に複数のタスクから呼び出されても互いを干渉することなく同時実行できるというプログラムです。

リエントラント

プログラムの中が処理の手順を定義した手続き部分とそこで用いるデータ部分に分かれていて、このデータ部分をタスクごとに持つことで、互いを干渉せずに並行して同時処理ができます。

再帰的(リカーシブ)

実行中に、自分自身を呼び出すことができる性質です。同時に、再入可能という性質もあります満たします。

リカーシブル

コメント

タイトルとURLをコピーしました