ベストフィット方式の特徴|科目A-1 令和7年 秋期午前試験 問5
出典:令和7年秋期 午前 問5
分野:アルゴリズムとプログラミング / アルゴリズム
記憶領域を管理するアルゴリズムのうち,ベストフィット方式の特徴として,適切なものはどれか。
- ア:空きブロック群のうち,アドレスが下位のブロックを高い頻度で使用するので,アドレスが上位の方に大きな空きブロックが残る傾向にある。
- イ:空きブロック群のうち,要求された大きさを満たす最小のものを割り当てるので,最終的には小さな空きブロックが多数残る傾向にある。
- ウ:空きブロックの検索にハッシュ関数を使用しているので,高速に検索することができる。
- エ:空きブロックをアドレスの昇順に管理しているので,隣接する空きブロックを簡単に見つけられ,より大きな空きブロックにまとめることができる。
TSUNAGARU-ADVICE
まず押さえたいこと
ベストフィット方式は、要求されたサイズを満たす空きブロックの中から、最も小さいものを選んで割り当てる方式です。大きな空き領域をできるだけ残せる一方で、割当て後に使いにくい小さな空き領域が残りやすい点が特徴です。必要量に最も近い空きブロックを使うと押さえましょう。
迷ったときの判断軸
「下位アドレスから使う」はファーストフィット寄りの説明、「高速検索」や「隣接ブロックの統合」はベストフィットそのものの特徴ではありません。ベストフィットは、空き領域の中からサイズ条件を満たす最小のものを探すため、断片化、とくに小さな外部断片が増えやすいという表現に注目します。
科目Bにつなげるために
特にプロフェッショナルデジタルスキル(システム)試験合格を目指す方は、メモリ管理を単なる用語ではなく、OSが限られた記憶領域をどう割り当て、断片化をどう抑えるかという観点で理解しておくと有効です。科目Bでは、性能低下や資源管理の原因分析として問われる可能性があります。
ベストフィット方式は、要求された大きさを満たす空きブロックの中から、最も小さいものを選んで割り当てる方式です。
例えば、10KBの領域が必要なときに、12KB・20KB・50KBの空きブロックがあれば、条件を満たす中で最小の12KBを割り当てます。これによって、大きな空きブロックをできるだけ残せます。
一方で、要求サイズに近い空きブロックを細かく使っていくため、最終的には利用しにくい小さな空きブロックが多数残りやすいという特徴があります。
したがって、イが適切です。
空き領域を割り当てる方式には、他にもファーストフィット方式とワーストフィット方式があります。
つまり、ファーストフィット方式は「早く見つけて割り当てる方式」、ワーストフィット方式は「一番大きな空き領域を使う方式」と考えると分かりやすいです。
❌他選択肢が誤りの理由ア:空きブロック群のうち,アドレスが下位のブロックを高い頻度で使用するので,アドレスが上位の方に大きな空きブロックが残る傾向にある。
⇒これは、空きブロックを先頭から順に探して、最初に見つかった十分な大きさのブロックを割り当てるファーストフィット方式の特徴です。ベストフィット方式は、アドレスの下位から優先するのではなく、要求サイズを満たす最小の空きブロックを選びます。
ウ:空きブロックの検索にハッシュ関数を使用しているので,高速に検索することができる。
⇒ベストフィット方式そのものは、ハッシュ関数を使う方式ではありません。空きブロックの中から要求サイズを満たす最小のものを探す考え方であり、検索方法としてハッシュ関数を使うことが本質ではありません。
エ:空きブロックをアドレスの昇順に管理しているので,隣接する空きブロックを簡単に見つけられ,より大きな空きブロックにまとめることができる。
⇒これは、アドレス順に空きブロックを管理する場合の特徴です。ベストフィット方式は、要求された大きさに最も近い空きブロックを選ぶ方式であり、隣接する空きブロックの併合が容易であることを直接の特徴とはしません。