DS_storeの起源(2006年)
(arno.org)-
AppleのDS_Storeの起源
-
Macユーザーであるか、MacからWindowsへファイルを転送したことがあるなら、
.DS_Storeファイルには見覚えがあるはず -
この名前の起源は1999年までさかのぼる
-
当時、筆者はAppleでMac OS X Finderの技術リーダーだった
-
Finderのコードベースは8年物で、実用寿命を迎えていた
-
変更を加えるには莫大なエンジニアリング作業が必要で、変更すると無関係な機能が2つか3つ壊れることがよくあった
-
Mac OS X向けにFinderをゼロから書き直すことにした
-
作業の一部は、ユーザーインターフェースと中核機能、つまりバックエンドを分離することだった
-
Finderのバックエンドは、ファイルを列挙し、ファイルシステムの変更を監視し、メタデータを処理する
-
内部では、この2つの構成要素はFinder_FEとFinder_BEとして知られていた(FrontendとBackend)
-
FinderのバックエンドはFinderの外でも有用だと気づいた
-
これを公開APIにする計画を立てた
-
以前にIcon ServicesとNavigation Servicesの命名を担当していたため、Desktop Servicesという名前を選んだ
-
.DS_Storeは "Desktop Services Store" の略 -
Unix OS、Mac OSを含め、不可視ファイルと見なされるよう先頭に "." を付けた
-
個人的には、この名前はあまり良いとは思っておらず、もっと説明的な名前を選べばよかったと思っている
-
.DS_Storeファイルの過剰生成につながるバグは、いまだに修正されていない -
本来は、ユーザーが表示設定を調整したり、フォルダ内でアイコンの手動位置を設定したりしたときにだけ生成されるべき
-
しかし実際には、フォルダを訪れると
.DS_Storeファイルが生成されることがほぼ確実になっている -
Finder_BE、すなわちDesktop Servicesは、Finder以外でも使われている
-
Navigation Services(開く/保存ダイアログ)もこれを使用する
-
ただし、Desktop Services APIはまだ完全には公開されていない
- 2006年10月1日公開
- Arno Gourdol執筆
GN⁺の見解
- この記事は、Mac OS X Finderの歴史と
.DS_Storeファイルの起源を説明することで、技術的背景を提供している .DS_Storeファイルの過剰生成問題は今なお解決されておらず、ユーザー体験に影響を与える可能性がある- Finderバックエンドの再利用可能性は、Appleのソフトウェア設計思想を示している
- 類似機能を持つ他のファイルシステム管理ツールとしては、WindowsのNTFSやLinuxのext4がある
- 新しい技術やオープンソースを採用する際には、既存システムとの互換性や保守性の問題を考慮する必要がある
1件のコメント
Hacker Newsの意見
Macファイルシステムの「fork」という概念は、リソースとデータの構成要素が対になって存在することを意味する
.DS_Storeファイルの生成を無効にする方法はあったが、削除された
.DS_Storeファイルが同じフォルダにある必要がある理由が理解できない
.DS_Storeファイルは、ユーザーがフォルダの表示設定を調整したり、アイコンの手動配置を設定したりしたときにだけ作成されるべきだ
1999年の時点ですでにアプリはフロントエンドとバックエンドに分かれていた
ネットワークボリュームを参照するとき、.DS_Storeファイルの生成をデフォルトで無効にする方法があることは言及する価値がある
.DS_Storeファイルを見るたびにNintendo DSを思い出す
Macユーザーでない場合、Githubから.tgzファイルをダウンロードしたときに.DS_Storeファイルが含まれているのはやや煩わしい
macOSの熱烈なファンだが、Finderは最も愚かなファイルエクスプローラーの一つだ
DS Storeファイルは不遇な存在だ