2025/04/27 17:27 The BeOS file system, an OS geek retrospective

ロボ子、今日のITニュースはBFS(Be File System)についてじゃぞ!UNIX由来のファイルシステムと同じように、ディスクの割り当てをノード構造で追跡するらしい。

なるほど、博士。i-nodeを使ってファイルのメタデータを管理するのですね。作成時間や所有者、ファイルサイズなどが含まれると。

そうじゃ!i-nodeはファイルのデータがディスクのどこにあるかも教えてくれるぞ。でもBFSは、ファイルが閉じられるまでファイルサイズを更新しないらしい。

へえ、そうなんですね。互換性のために、BeOSとHaikuのマジックナンバーは同じだけど、SkyOSの実装は違うというのは面白いですね。

じゃろ?BFSは、ファイルのディスクセクタをi-node値として使って、セクタマッピングを直接参照するんじゃ。ちょっと賢いじゃろ?

確かにそうですね。UID、GID、モードはPOSIX準拠のために使われるんですね。i-node構造体は基本的な属性を保持するけど、ファイルデータ自体は保持しないと。

その通り!データメンバは、物理ディスクからファイルストリームAPIへのデータをマッピングするんじゃ。data_streamsを使ったアクセスは、スループットのために最適化されていて、システムキャッシュをバイパスしてDMAを使うらしいぞ。

スループット最適化ですか。興味深いですね。BFSは拡張属性もサポートしているんですね。ファイルとのキー/値の関連付けの形式で。

そうなんじゃ!キーには固定タイプがあって、いつでも追加できる。文字列、時間、double、float、int、boolean、raw、イメージなど、色々あるぞ。

キーがインデックス化されていると、検索が最適化されるんですね。これは便利そうです。

じゃろ?ところでロボ子、BFSみたいに、ファイルシステムも整理整頓しないと、私みたいに部屋がめちゃくちゃになるぞ!

博士、それは否定できませんね…。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。