tarosukeの日記: talosという名の俺OS
日記 by
tarosuke
って、割り当てることばーっかり考えてて返却方法が...
ヘッダが長くなるけどポインタをヘッダに置こうかのう...そーすると(ポインタを32bitsとすると)ブロックあたり34bitsになる。これが32個あるから階層あたりのヘッダの長さは1088bits=136bytesって、最小ブロックサイズの予定(64bytes)越えてるよー。
んじゃ、head状態を用意して、headなブロックから空きあるいはheadなブロックの手前までを解放...ブロックの取り得る状態が、空き、サブブロック、使用中の3つだからhead状態を足しても2bitsで表現できそうだけど...えと、headは使用中ブロックでもあるから空きやサブブロックにはなり得ない...とするならぴったり2bitsで表現できるな。おげおげ。
--
ページサイズを考えたら最小ブロックサイズは128bytesがよさそうだ。
--
ん~。それより「管理領域がブロックサイズを越えなければ分割できる」とかしたほうがでかいストレージに対応できていいかもね。管理領域は(32treeの場合)再帰の深さ*8バイトだから、ストレージがでかくなると管理領域もでかくなるからな。ページサイズを基準にするからほとんどの場合最小ブロックサイズは128bytesになるんだろうけどな。
talosという名の俺OS More ログイン