ファイルシステムについて

昨日Gakuさん(現在Monaに収録されているFat12コードの作者)とファイルシステムの実装ついてちょっと話していて思ったこと。


ファイルシステム固有処理や、固有データを1クラスでほぼまとめて面倒を見るのか、それとも分散させるべきか。


現在は意図せず結果的にはほぼFat12FileSystemにロジックが集中しているのだが、Fat12ISO9660も大きなファイルシステムではないので、コードの量としてはあまり大きくないが、1ヵ所集中は良いのだろうか?


Fat12FileのReadなどもFat12FileSystemのロジックを呼び出すだけで、デバイスReadには関わらないようになっている。
バイスReadを外(Fat12FileSystem)に任せているということは、Fat12を読むということも外に任せてしまう結果になるのだ。


ということで、いまだ結論は出ないが実装しながら都合が悪くなったら変更すれば良い方向で進めつつ、↓の本を読み直そうかと。
Windows NT ファイルシステム詳説―A Developer’s Guide










と思っていたら、概要をつかむなら、Solarisインターナル―カーネル構造のすべての4部を読むと良いとのアドバイスをGakuさんから頂いた。
Solarisインターナル―カーネル構造のすべて