タイトル【Mac OS X Public Betaシリーズ】“フォルダ階層”と“ディレクトリ階層”カテゴリーMac OS X, Mac OS X Public Betaシリーズ
作成日2000/9/26 16:59:17作成者新居雅行
Mac OS Xもハードディスクを使う点では従来のOSと同様だ。使うというよりハードディスクがなければ使えない。そのハードディスクには、データやソフトウエアなどをファイルという形式で記録することができる。ファイルはフォルダに分類できるが、フォルダの中にフォルダを作成することもできる。かくして、フォルダの構成は木の根から枝別れする様子になぞられることができるわけだ。こうしたフォルダの構造について、Mac OS X Public Betaではどのようになっているのかを見て行くことにしよう。

まず、Mac OS Xでは、標準フォーマット(HFS)、拡張フォーマット(HFS+)、UNIX Filing System(UFS)が使える。CD-ROMではもちろんISO9660も使える。ただ、標準フォーマットについては使わないようにするのが基本だと言えるが、HFS+あるいはUFSのボリュームであれば、起動ボリュームにすることができる。なお、ハードディスクのフォーマットやパーティション作成は「ドライブ設定」ユーティリティでできるが、そこでパーティションごとにフォーマットの選択ができるようになっている。また、Mac OS Xをインストールする時にシステムをインストールするパーティションを、指定したフォーマットで再フォーマットすることができる。

旧来のMac OSでは、フォルダ階層にいたるまでが次のような階層構造になっていた。つまり、デスクトップにボリュームがいくつかあり、そのボリュームの中にフォルダやファイルがあるといった構造になっている。デスクトップは、画面のいちばん背景の部分となっていた。

デスクトップ┳ボリューム1┳システムフォルダ …
      ┃      ┣Apple エクストラ …
      ┃      ┣アプリケーション …
      ┃      ┗書類 …
      ┗ボリューム2┳フォルダ1
             ┗フォルダ2

Mac OS Xではデスクトップは「Desktop」というアプリケーションとなったため、用語の混乱が出てしまうが、トップ階層は、Computerである。そして、HFS+を起動ボリュームとした場合、Finderでファイルの階層を見た場合には、次のような階層構造になっている。(等幅フォントで参照してもらいたい)

Computer + Volume1 + Applications
| + Library
| + System
| + Users ...
+ Volume2 + Folder1
| + Folder2
+ Network

ここでは、Volume1が起動ボリュームとしている。Volume2はたとえばHFS+の別のパーティションなどのボリュームだ。それ以下のフォルダ構成も興味あるところであるが、それはまた別の機会に説明しよう。ここでは、従来のMac OSとくらべると、デスクトップがComputerになっただけと言ってもよい。その意味では、従来との互換性がある。

一方、UFSボリュームを起動ボリュームとした場合、Finderから見れば、次のような階層構造となる。

Computer + / + Applications
| + Library
| + System
| + Users ...
+ Volume2 + Folder1
| + Folder2
+ Network

つまり、起動ボリュームが、ボリューム名ではなく「/」なのである。UNIXに詳しい人はこちらが本来の階層ではないかと思うかも知れない。つまり、/(ルートを意味する)が基準になるというところだ。しかしながら、Finderから見る限りにおいてはComputerの下にボリュームが一覧され、そのボリュームの先にそれぞれフォルダの階層があるという点では変わりない。(ちなみに、HFS+で起動した時、UFSのボリュームは「Mac OS X」などの名前で参照できる。UFSで起動したとき、自分自身の名前がフォルダ階層に登場しないのである。)

ところが、HFS+で起動しても、UFSで起動しても、どちらの場合でもTerminal(コマンド入力での操作を行う場合に使う)での処理では、次のような階層であると認識しなければならない。

/ + Applications
+ Library
+ System
+ Users ...
+ Volume2 + Folder1
+ Folder2

つまり、ルート(/)がまずトップに存在するのだが、ルートの直下には、起動したボリュームにあるフォルダ(図ではApplications〜Users)と並列に、その他のボリューム(Volume2)があるという具合だ。これもUNIXをよく御存じの方には驚くに値しないことだろう。起動ボリューム以外のボリュームが、ルートに自動的にマウントされるだけだと言えばそれだけだ。

つまりフォルダの階層構造については上記の2つの様相がMac OS Xの中であるわけであり、場合によっては区別が必要になることも十分に考えられる。ここで用語を定義したい。Finderから見える階層を「フォルダ階層」と呼び、Terminalレベルでの階層を「ディレクトリ階層」と呼ぶことにする。Finderでは「フォルダ」だが、Terminalを使う上では「ディレクトリ」と呼ぶのがふさわしいと思う。筆者独自の定義であるが、受け入れがたいものではないと思う。
Finderレベルでは、Mac OSで永年使ってきたテイストもあるだろうし、ボリュームとフォルダを区別するという意味で、Computerの直下はボリュームが並び、それ以下にフォルダが並ぶという方が、利用者インタフェースとしては使いやすいということは言える。しかしながら、Terminalでは、コアOSのDarwinのレベルでのディレクトリ構成がそのまま見えるわけである。その意味では、ディレクトリ構成は生で記憶装置の様子を見せているものであり、フォルダ構成はFinder向けつまりはユーザ向けに再構成したものとなるわけだ。
一般ユーザレベルではこうしたフォルダ階層とディレクトリ階層を区別することはないように済ませられると考えられる。予想ではあるが、CocoaやCarbonのAPIレベルで使う上ではフォルダ階層に基づいたファイルやフォルダの指定になるだろう。とすれば、一般ユーザの目に、基本的にはディレクトリ階層は触れることはないと言える。

…と思ったら、もう見つけてしまった。System PreferencesのNetworkにあるServicesのタブで、WebサーバのApacheを起動することができる。Webサーバで公開するフォルダ(Document Folder)は「/Library/WebServer/Documents」となっている。つまりディレクトリ階層で指定が行われている。ここでダイアログボックスでフォルダを指定することができるのだが、そのダイアログボックスでは、フォルダ階層で示される。選択した結果はディレクトリ階層のフルパスでテキストボックスに設定される。一般ユーザがWeb公開するかどうかという議論はさておき、やはり通常の利用でもフォルダ階層とディレクトリ階層の両方の側面が出て来るということは可能性として高いと言えるだろう。ただし、Document Folderの指定をHFS+のレベルで見ると「Finderと違う」となるわけだが、UFSのボリュームで起動した場合は「Finderの表示と同じ」ということになる点は前のフォルダ階層の模式図で確認してもらいたい。その意味では、UFSで起動した時のフォルダ階層とディレクトリ階層は、起動ボリュームに関しては結果的には同じものになると言える。このあたり、うまくFinderでの階層表示をまとめていると感心してしまうところだ。

もっとも、開発やネットワークなどを含めたシステム管理の上では、ディレクトリ階層を目にし、いろいろな設定で取り扱うという場面がもっと増えると思う。少なくともシステムに深く関わる必要のある人たちにとって、フォルダ階層とディレクトリ階層があり、微妙に違うという点は認識しておく必要のあることだと言えるだろう。
関連リンク