読み方 : ベストフィットほうしき
ベストフィット方式【best-fit algorithm】
概要
ベストフィット方式とは、オペレーティングシステム(OS)が主記憶装置の空き領域を実行中のプログラムへ割り当てる方式の一つで、要求サイズを満たす空き領域の中から最も容量の小さいものを選んで割り当てる方式。大きな空き領域を温存できるが、探索処理の負荷が大きく細かい断片が発生しやすい。

OSが管理するメモリ領域は、プログラムの実行や終了に伴って確保と解放が繰り返されるうちに、使用中の領域と空き領域が入り交じった状態になっていく。新たな割り当て要求が来た際には、この中から適切な空き領域を選ぶ必要があり、その選び方によっていくつかの方式に分かれる。
ベストフィット方式では、要求サイズ以上の空き領域のうち、余りが最も少なくなる領域を優先的に選んで割り当てる。これにより、容量の大きな空き領域はなるべく分割されずに残るため、後に大きなメモリ要求が来た場合にも対応しやすいという利点がある。
一方で、すべての空き領域を調べて最小のものを探し出す処理は、単純に最初に見つかった領域を使う方式に比べて計算量が多く、空き領域を容量順に管理するデータ構造を用いない場合は探索に時間がかかることがある。また、要求サイズに近い領域を割り当てた結果、残りとして実用性の低い小さな断片が各所に発生しやすい。このように、使用中の領域と空き領域が入り交じって連続した大きな領域を確保しにくくなる現象は「外部断片化」と呼ばれ、これが進行すると、容量自体は足りていても大きなメモリ要求を満たせなくなる場合がある。
実際のメモリ管理では、こうした探索コストや断片化の問題を踏まえ、空き領域をあらかじめ容量順に並べて管理することで探索を高速化したり、固定サイズの領域を扱う「スラブアロケータ」や「バディシステム」など、ベストフィット方式とは異なる割り当て方式を併用したりすることも多い。空き領域の選び方によって探索時間や断片化の進み方、メモリの利用効率には違いが生じるため、システムの特性や用途に応じた方式の選択が行われている。
(2026.7.5更新)