リエントラント・リユーザブル・リロケータブルとは?
リエントラント・リユーザブル・リロケータブルとは、プログラムの性質を表す3つの区分。リユーザブル(再使用可能)は再ロードなしに繰り返し実行できる性質、リエントラント(再入可能)は複数の実行単位から同時に呼ばれても正しく動く性質、リロケータブル(再配置可能)は主記憶上のどの番地に置いても動く性質を指す。
基本情報技術者試験の過去問では1回出題されています。
りえんとらんと・りゆーざぶる・りろけーたぶる
リエントラント・リユーザブル・リロケータブルの意味
プログラムの性質を表す3つの区分。リユーザブル(再使用可能)は再ロードなしに繰り返し実行できる性質、リエントラント(再入可能)は複数の実行単位から同時に呼ばれても正しく動く性質、リロケータブル(再配置可能)は主記憶上のどの番地に置いても動く性質を指す。
リエントラント・リユーザブル・リロケータブルの具体例
共有ライブラリの関数を複数スレッドから同時に呼ぶには、状態を静的変数ではなく引数とスタックだけで持つリエントラントな実装が必要になる。処理結果をグローバル変数に溜める実装は、片方の呼出しがもう片方の途中結果を壊すため同時実行に耐えない。
リエントラント・リユーザブル・リロケータブルは試験でどう引っ掛けられる?
リエントラントであれば必ずリユーザブルだが、逆は成り立たない。リユーザブルには、実行の最後に自分で状態を初期化して再実行に備える「逐次再使用可能」も含まれ、これは同時実行できない。包含関係を逆に覚えると失点する。
リエントラント・リユーザブル・リロケータブルと関連する用語
リエントラント・リユーザブル・リロケータブルが出た過去問
複数のプロセスから同時に呼び出されたときに、互いに干渉することなく並行して動作することができるプログラムの性質を表すものはどれか。
正解:リエントラント
要点:リエントラントは同時呼び出しでも干渉しない性質
リエントラント(再入可能)とは、複数のプロセスから同時に呼び出されても互いに影響を与えず正しく動作する性質である。これを実現するには、プログラム中で書き換えられる領域を持たず、作業用データを呼び出し側ごとの領域に置く必要がある。共有ライブラリやOSのサービスルーチンで重視される。
出典:令和1年度 春期 基本情報技術者試験 午前 問8(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。