アロケーション【allocation】アロケート/allocate
概要
メモリアロケーション
コンピュータの動作において単に「アロケーション」という場合、実行中のプログラムに主記憶装置(メインメモリ)の領域を割り当てる「メモリアロケーション」(memory allocation)を指すことが多い。プログラムが必要とする容量のメモリ領域を確保し、不要になった時点で解放する処理である。
この管理が適切に行われない場合は、利用できない領域が蓄積していく「メモリリーク」や、空き領域が小さな断片に分断させる「メモリ断片化」(フラグメンテーション)の原因となる。確保の方式には、起動時にあらかじめ領域を用意する静的確保(スタティックアロケーション)と、実行中に必要な分だけ割り当てる動的確保(ダイナミックアロケーション)がある。
ストレージ領域のアロケーション
ハードディスクやSSDなどのストレージ(外部記憶装置)では、各ファイルや管理情報を保存するための領域の割り当てをアロケーションということがある。ファイルシステムはディスク上の空き領域を一定の単位(クラスタやブロックなど)で管理し、ファイルの作成や拡張に応じて領域を割り付ける。この割り当て方式は記憶効率やアクセス性能に影響するため、ファイルシステムごとに異なる管理手法が採られている。
ネットワーク資源のアロケーション
ネットワークの分野では、IPアドレスなどの資源を管理する組織が、下位の組織や利用者に資源の一部を割り当てることをアロケーションということがある。インターネット番号資源を統括する組織から地域インターネットレジストリへ、さらに通信事業者や利用者へとアドレスが段階的に割り当てられていく仕組みがこれに当たる。
仮想化環境におけるアロケーション
クラウドコンピューティングや仮想化環境においても、CPU時間やメモリ容量、ストレージ容量、ネットワーク帯域など、物理コンピュータの持つ資源を小さな単位に分割し、その上で稼働する仮想マシンやコンテナへ割り当てる処理をアロケーションと呼ぶことがある。仮想マシンやコンテナは利用状況に応じて割り当てる資源量を動的に増減させることができるのが大きな利点の一つである。
他の分野のアロケーション
ITの分野以外でも、アロケーションという語は様々な場面で用いられている。一般のビジネスにおける予算や人員の配分、金融業における資産や銘柄ごとの投資額の配分(アセットアロケーション)、小売業における商品やジャンルごとの売り場面積の配分(スペースアロケーション)などがある。いずれの分野においても、有限の資源を目的に応じて適切に分け与えるという意味は共通している。
