応用情報暗記無料で始める

リエントラント・リユーザブル・リロケータブルとは?りえんとらんと・りゆーざぶる・りろけーたぶる

リエントラント・リユーザブル・リロケータブルとは、プログラムが持ちうる性質を表す三つの区分。再ロードせずに繰り返し実行できるのがリユーザブル、複数の実行単位から同時に呼ばれても結果が壊れないのがリエントラント、主記憶上のどの番地に置いても動くのがリロケータブルである。分かれ目は状態をどこに持つかで、静的領域に持つ実装は同時実行に耐えない。

最終更新:2026-10-06

試験情報

応用情報技術者試験の過去問では1問の解説で触れられています。

応用情報技術者試験の頻出用語/テクノロジ系

別名:リユーザブル、リロケータブル

この語が出る過去問を解く →

背景

主記憶が高価で小さかった時代、同じ処理のためにプログラムを人数分ロードする余裕はなく、一つの実体を複数の利用者やタスクで共有する必要があった。さらに、どの番地に載るかは実行時まで決まらない。共有できるか、同時に入れるか、置き場所を選ばないかという三つの問いは、いずれも限られた主記憶を効率よく使うための要件として整理されたものである。マルチスレッドが当たり前になった今も、共有ライブラリの実装要件として同じ区分が効いている。

具体例

C標準ライブラリのstrtokは分割位置を内部の静的領域に覚えているため、複数スレッドから同時に呼ぶと互いの途中状態を壊す。これを呼出し側にバッファを渡させる形へ変えたstrtok_rは、状態を引数とスタックだけに置くことでリエントラントになっている。

試験での引っ掛け

包含関係の向きが問われる。リエントラントであれば必ずリユーザブルだが、逆は成り立たない。リユーザブルには、実行の最後に自分で状態を初期化して次の実行に備える「逐次再使用可能」も含まれ、これは繰り返し使えても同時実行はできないからである。三つの語のうちリロケータブルだけは主記憶上の配置に関する性質で、実行の同時性とは軸が違う点も混同されやすい。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 1問の解説で触れられる
  • 分野:テクノロジ系
  • 包含関係の向きが問われる。