![](http://4.bp.blogspot.com/__AyO-thBrS0/SczbF7yKRDI/AAAAAAAAAUY/TahajUpXIEg/s400/bug_block_size_012-FIX.jpg)
![](http://2.bp.blogspot.com/__AyO-thBrS0/SczbF8IszkI/AAAAAAAAAUQ/a4s5QZt0gK8/s400/bug_block_size_011-FIX.jpg)
![](http://1.bp.blogspot.com/__AyO-thBrS0/SczbF55n0dI/AAAAAAAAAUI/Xk-9NvKPwmM/s400/bug_block_size_010-FIX.jpg)
ブロック構造体に色々なバグがあったのを修正。
ついでに、ブロックサイズを#defineの値を変えるだけで変更できるようになりました。試しにブロックサイズを3byteにすると上述したようなブロックを跨ぎまくってデータを保存するファイルシステムになります。1ブロックあたりに損するデータ量は、head部のサイズと+ヌル文字[byte]です。なので、ブロックサイズが3byteだと、実際のデータ量より、データ情報を構築するためのデータ量の方が大幅に大きくなります。つまり、超冗長なファイルシステムになります。しかしながら、確保するメモリのサイズも小さくなるので、フラグメントの隙間にも挟める可能性がグッと上がります。
・・・しかしながら、今のファイルシステムはブロック毎に、離散的にメモリを確保しているんじゃなくて、連続的にメモリ確保しているという罠。なんというもったいないシステムorzorzorzorz
明日中に、離散的にメモリを確保して、つなぎ合わせて実データを構築できるようにしよう。
0 件のコメント:
コメントを投稿