dlmallocとは? わかりやすく解説

dlmalloc

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/02/17 16:10 UTC 版)

malloc」の記事における「dlmalloc」の解説

dlmalloc は Doug Lea1987年開発始めた汎用アロケータ。パブリックドメインライセンス(CC0ライセンス)のオープンソースライブラリ。GNU Cライブラリ (glibc) の malloc は、dlmalloc を元に作られている。 ヒープ領域上のメモリは "chunk" という8バイト境界データ構造として確保され、その中にヘッダ部と利用可能メモリがある。chunk および利用フラグがあるため、8バイトまたは16バイトオーバヘッド含めたメモリ確保が必要である。アロケートされていないchunkも他のフリーなchunkへのポインタを持つため、chunk最小サイズ24バイトとなっている。 アロケートされていないメモリは "bin" と呼ばれる同じサイズchunkグループ分けて管理されるbinchunk双方向連結リスト連結したのである小さな領域 (<256B) を確保するときには2の累乗フリーリストが使われる。領域が不足したときは、より大きなサイズ用の領域からプールを確保する。 中程度の大きさの領域は、bitwiseトライ木により管理される。領域が不足したときは、(sbrkによる)ヒープの拡張が行われる。 大きな領域(デフォルト値は >= 256KB)は、mmap()使える環境場合mmap() により直接確保される。この大きさならば、ページサイズ(通常4KB, CPUアーキテクチャ依存する)単位でしか割り当てられないことによるオーバーヘッドシステムコール遅さによるオーバーヘッドほとんどない一方で先に述べたヒープ方式アロケーション問題起こらないので、この方法が使われる

※この「dlmalloc」の解説は、「malloc」の解説の一部です。
「dlmalloc」を含む「malloc」の記事については、「malloc」の概要を参照ください。

ウィキペディア小見出し辞書の「dlmalloc」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「dlmalloc」の関連用語

dlmallocのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



dlmallocのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのmalloc (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS