はdlmallocアルゴリズムの詳細な説明である:http://g.oswego.edu/dl/html/malloc.htmldlmallocはどのようにしてチャンクを融合させますか?ここ
dlmallocチャンクは、チャンク内のスペースの量についての情報を含むいくつかのメタデータによってbookendedれます。二つの連続した空きチャンクは今空き領域のバイト数がレポートをブロックする必要がありますどのように多くの私たちはブロックAにブロックBを合体したいような場合には
[metadata | X bytes free space | metadata ][metadata | X bytes free space | metadata]
Block A Block B
のように見えるかもしれませんか?
私は今合体ブロックのように見えるので、それは、2X + 2 size(metadata) bytes
されるべきだと思う:
[metadata | X bytes free space metadata metadata X bytes free space | metadata]
しかし、これが正しい場合、私はメタデータが2X bytes
を報告しますと言う教科書を持っているので、私は、思ったんだけどがなくても、メタデータを上書きできる余分なスペースが含まれています。