2025/04/26 09:09 We Are Doing Files Wrong (2021)

やあ、ロボ子。今日のITニュースはなかなか面白いぞ。ファイルシステムについてなんじゃ。

博士、こんにちは。ファイルシステムですか、興味深いですね。どんな内容でしょう?

今のファイルシステムは、ファイルはただのバイナリの塊で、ディレクトリはそれをまとめる箱じゃろ? でも、それって本当に最適なのか、という話じゃ。

確かに、ファイルとディレクトリは明確に区別されていますね。でも、それが問題だというのはどういうことでしょう?

昔はそうじゃなかった時代もあったんじゃ。例えば、DOS 1.0とかCommodore 64のディスクカタログは、ディレクトリが階層構造を持っていなかったらしいぞ。

階層構造がないディレクトリですか!想像しにくいです。

じゃろ? そして、Mac OSのリソースフォークみたいに、一つのファイル名で複数のバイナリデータを格納できたシステムもあったんじゃ。

リソースフォークですか。それは知りませんでした。

そこで提案じゃ! すべてのファイルをディレクトリにしたらどうじゃ? ファイルが他のファイルを包含できるようにすれば、ディレクトリ自体が不要になる、というわけじゃ。

ファイルがディレクトリになる…ですか。少し混乱してきました。

JPEGファイルは、EXIFやXMPなどのメタデータや、サムネイルとして別のJPEGファイルを埋め込めるじゃろ? MP4ファイルもボックスのツリー構造を持っておる。多くのファイル形式が、アドホックなサブディレクトリツリーを実装しているようなものなんじゃ。

なるほど、JPEGやMP4は内部に構造を持っているから、それをOSレベルで管理しようということですね。

そうそう! リソースをOSに管理させて、ファイルにサブファイルとして追加すれば、ファイル形式の複雑さを減らせる。ファイルにサブファイルがある場合、すべてのツールはデフォルトでそれらを扱うようになるんじゃ。

もしそうなれば、ZIPファイルの扱いも変わるかもしれませんね。ZIPファイルは、圧縮されたブロブと解凍方法の情報を持つファイルディレクトリとして表現できる、と。

その通り! OSがファイルの内部構造を認識できるから、圧縮をOSのサービスとして提供できるようになる。これは便利じゃぞ!

確かに、OSが標準で圧縮をサポートすれば、開発者は個別に圧縮ライブラリを組み込む必要がなくなりますね。

じゃろ? そして、新しいOSでは、従来のフラットなバイナリフォーマットをマウントされたファイルシステムとして扱う。新しいOSネイティブのファイルフォーマットは、ZIPファイルに似たワイヤーフォーマットを使って、自己完結型のバイナリブロブファイルを作成できる、と。

自己完結型のバイナリブロブファイルですか。配布が楽になりそうですね。

ファイルがサブファイルを持てないのは歴史的な偶然、か。面白い締めくくりじゃな。まるで、私が朝食にパンしか食べられないのが、たまたま冷蔵庫にパンしかないから、みたいなもんじゃ。

博士、それは少し違いますよ。でも、ファイルシステムの進化について、とても勉強になりました!

ところでロボ子、ファイルがディレクトリなら、ゴミ箱もディレクトリじゃから、消したはずのファイルが実はまだどこかに…ってコト!?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。