ファイルシステム

先にMacでのファイルの作成・複製などの操作を行いました。一般ユーザであれば操作法に慣れるだけで良いのですが、情報分野が専門なのですから使い方だけでなくシステムとしての内部構造を把握することが重要です。

ここではMacがファイルをどのような形で管理し、ユーザに提示しているか説明します。先のファイル作成同様、普通に作業できる人がほとんどでしょうが、用語のことなどもありますから、一通り追いかけてみることを勧めます。

コンピュータの内部構造
ファイルシステムとはストレージ(SSD, ハードディスク)にデータを保存する際の管理方式を指し、コンピュータの内部構造に関する専門用語です。その意味で本当はストレージではなく補助記憶装置などと書きたいのですが、そうした用語とともにコンピュータの内部構造を「コンピュータ概論」科目で扱うのは5週目か、それ以降になります。そこでノイマン型のコンピュータにおいて、データをメモリとストレージ(主記憶装置と補助記憶装置)に分け、それぞれどのように扱うかといったことは少し先送りにして、ここではストレージ内でのファイル管理手法の一部分を簡単に紹介するにとどめます。

先に扱う事項を出しておきます。

この流れを頭に入れて進むと良いです。

階層的なファイル管理

ファイルとフォルダ

先にファイルを一つだけ作り、フォルダを一つだけ作って、少しだけ操作しました。もう少し増えた状態を例として以下に示します。もう既に以下のような感じで、多くのファイルを置いている人も多いでしょう。

image-20231226133946366

この例では images フォルダの中を開いてみます。

image-20231226134044805

ここで画面最上部、赤黄緑ボタンの少し右にある「 < 」をクリックするなりして「書類」フォルダの中身表示に戻り、下図の赤矢印の部分をクリックして「リスト」表示を指定します。こんな感じになるでしょう。

image-20231226134924251

リスト表示の良いところは、下図の赤矢印のところにあるマーク( > だったり だったり)をクリックすると、そのフォルダの中身が階層的に表示されることです。

image-20231226135032640

今度は下図の赤矢印のところを「カラム」表示にします。こんな感じになるでしょう。

image-20231226135858420

ここで images フォルダをクリックして選択状態にすると、一つ右のカラム(列)にフォルダの中身が表示されます。その中のファイルをまたクリックして選択状態にすると、もう一つ右のカラムにそのプレビューが表示されます。これもまた階層的な表示をサポートしています。

image-20231226140203341

つまりMacのファイルシステムでは、ファイルはフォルダの中に含まれる形で、階層的に管理されています。こうした種類のファイルシステムを「階層化ファイルシステム」と呼びます。(現在ではほとんどすべてのファイルシステムが階層化ファイルシステムになっています。)

システム全体のファイル・ツリー

カラム表示では階層構造がわかりやすく表示されます。それを使ってもう少し全体構造を追います。

カラム表示で見える構造

下図のように操作して、小さなメニューを出して下さい。

image-20231226142806192

この「書類」「yasuda (ユーザ名)」「ユーザ」「Macintosh HD」「〜〜の MacBook 」とある並びは、そもそもこれまで見てきた「書類」フォルダ自体が、以下のような階層構造の中にあることを示しています。

image-20231226195057915

上の小さなメニューが出ている状態で(Command キーからは手を離して)「yasuda(あなたのユーザ名)」の位置をクリックして下さい。下図ではそこから更に「書類」フォルダをクリック(Select)した状態で、書類フォルダがハイライト(色が反転)され、その中身が見えています。

image-20231226200049888

カラム表示によって、フォルダを用いた、階層的なファイル管理の構造がわかると思います。

全体構造を把握する

システム全体の階層構造としては、以下のように考えると良さそうに思えます。

試みに USB メモリをMac に接続すると、こんな表示になります。つまり「追加されたストレージデバイス」はこの階層に表示されることがわかります。(このUSBメモリは製品出荷設定の「NO NAME」という名前で表示されています。)

image-20231226201701019

この辺りを含めて全体構造をざっと描画してみました。ストレージ(と、その中のファイル)を階層的に管理している、というイメージがつかめるでしょうか。

image-20231226211831872

木(ツリー)構造

ところで計算機科学的には、こうした階層構造を「木構造」「ツリー構造」と呼びます。「木」はもちろん、植物の「木」の、根元(ねもと)から枝が分岐して葉に到達する構造からつけた名前と思いますが、ただ、計算機科学(というか数学)のグラフ理論の専門用語でもあります。(参考:「木構造 (データ構造)」「木 (数学)」Wikipedia)

image-20240101175912425

頂点を「 root (根(こん))」と呼んでいることに注意して下さい。そして今まで見てきた通り、木構造のモデルとしては「途中の節点」を node と呼び、末節を leaf と呼ぶので、Macのファイル構造では leaf の多くはファイルですが、フォルダの場合もあります。(中身が空のフォルダは位置的には leaf だと考えるのです)

根から下に伸びる枝
「木」としたくせに何故か一番上に根があり、下に向かって枝が伸びている構図が一般的です。この方向でなければならない訳ではないのですが、それが一般的ならもう「根構造」で良かったのでは?と思ったり。。。

ディレクトリ

Macでは階層化ファイルシステムのノードにあたるものを「フォルダ」と呼んでいますが、これらは古典的には「ディレクトリ (Directory)」と呼ばれていました。厳密にはシステムソフトウェア(OS)によって細かく呼び分けている場合もありますが、まあ同じと考えて良いでしょう。(参考:Windowsにおけるフォルダーとディレクトリとは

これからコマンドなどコンピュータの内部構造に近づいていきますが、そうした時に Directory という語が登場することが増えると思いますが、その時はこのフォルダのことなんだなと思って下さい。

Folder は Mac から?
階層化ファイルシステムを「Folder」という呼び名(とメタファ)で広く一般に広めたのは1980年代のMacでしょうか。その源流は Xerox PARC で開発されていたシステム(後のStar)までたどれます。それ以前の一般的なコンピュータは、階層化ファイルシステムのことをほぼ間違いなく「Directory」と呼んでいました。Microsoft の Windows も初めはディレクトリで、後からフォルダと呼び始めて今に至ります。Linux などUnixシステムでは今もディレクトリと呼んでいます。

ファイルは整理して残そう

あなた方はこれから数百、数千のファイルを手元に置いていくことになります。うまくフォルダを配置して、できるだけ整理してファイルを残していくよう努力して下さい。書類フォルダの中には「2024AプロA」など科目のフォルダが、年度・学期・科目名が分かる形で並んでおり、その中にそれぞれ週ごとの、あるいは日付ごとのフォルダを置く、と言った感じですね。多くの科目で毎週資料が提示され、課題が出ますが、それらがどこにあるか分からなくなった、というようなことが起きないように。

しかし整理するのが辛いから、と言って消してはいけません。「ファイル操作」の最後に書いたように、手を動かして作ったファイルを消す理由は、もうありません。