Skip to content

データ領域に対するデフラグ #3

@yuezato

Description

@yuezato

https://github.com/frugalos/cannyls/wiki/Data-Region-Allocator#%E8%AA%B2%E9%A1%8C
上記でも課題とされているが、データ領域で極端なフラグメンテーションが発生した場合の直接の回復策を、現状のcannylsは持ち合わせていない。

デフラグを行うとして、どの種類のアルゴリズムを採用するか?
特に、例えば次のような状況でどのようにするべきか?

  • 100ブロックがデータ領域で、先頭4ブロックが空、続く50ブロックに1つの連続するデータ、続く6ブロックが空で、残りの40ブロックに連続するデータがある
    • [4blk empty][50blk continuous data][6blk empty][40blk cont. data]
  • これに対するデフラグ後のデータ領域として次のようになって欲しいか?
    • [50blk cont. data][40blk cont. data][10blk empty]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions