正答3
解説
正解は3です。
再帰呼出しでは、呼び出すたびに戻り番地や局所変数などを保存し、戻るときは最後に保存したものから順に取り出します。
この「後に入れたものを先に出す」管理方式が問われています。
【選択肢別解説】
1:× FIFO(First In First Out)は先入れ先出しで、待ち行列(キュー)の管理方式です。
再帰では最後に呼び出した処理から戻るので、FIFOでは対応できません。
2:× LFU(Least Frequently Used)は、使用頻度が最も少ないものを追い出すページ置換えなどの方式です。
呼出しの保存・復元の方式ではありません。
3:○ LIFO(Last In First Out)は後入れ先出しで、スタックの管理方式です。
最後に呼び出した処理から順に戻る再帰呼出しの動きと一致します。
4:× LRU(Least Recently Used)は、最も長い間使われていないものを追い出すページ置換えなどの方式です。
再帰の状態保存には使いません。
【ポイント】
再帰呼出しや割込み処理の状態保存にはスタック(LIFO)を使います。
キュー(FIFO)との違い、ページ置換え方式(LRU、LFU)との区別も頻出です。