・・・ううん、まあ、そんなものなんだけど、よし、階層ディレクト リに関する僕の意見を聞いて下さい。 僕が考えたのと同じ順序で考えてもらいましょう。その方が分かりや すいかもしれない。 まず、僕は誰でもかれでも(つまりセキュリティーなしに)親ディレ クトリにアクセスできるというシステムは駄目だと思いました。階層を さかのぼるのにもセキュリティーをかけられるべきだ、と。・・・それ で、親ディレクトリへ戻るためのディレクトリ「..」を特別なディレク トリではなく、単なるショートカットディレクトリとして扱えばいいか な、と考えます。そうすればセキュリティーは通常通りガンガンにかけ られるわけです。名前が変なだけなんです。 そのうち、何で名前が「..」に限定されなければいけないんだろう、 と考えました。そんなのはシェルの都合であってカーネルの都合ではな い!しかも、なぜいつも親に戻れるようになっていないといけないんだ ?一方通行でもいいじゃないか!・・・僕のひねくれは、とどまること を知りません。 Win95のディレクトリを考えるとき、普通に作ったフォルダーには、 親へ戻る手段が提供されています(「cd ..」で戻れる)。しかし、シ ョートカットでそのディレクトリに入っていったときは、戻れません。 後から来た親は本当の親と同格になれないのでしょうか?・・・つまり 親はどうして1つじゃなきゃいけないんだ!ということです。それに、 ショートカットと本家を区別する必要があるのでしょうか?・・・ない !・・・だから、「..」というディレクトリはOSASKでは勝手に作った りしないし、戻りたければ、戻るためのショートカットを好きなだけ作 ればいいということにしました(シェルが作る)。もちろん、どんな名 前でもいいです。 さて、そうやって、ショートカットであちこちに張り巡らされた階層 構造を見ているうちに、面白いことに気がつきました。「どっちが上じ ゃい!」・・・そういう風に考えると、何もrootが唯一の頂点ではない のです。経路さえあればどこがrootだと主張しても信じられます。・・ ・そして、僕は悟りました。「階層」ディレクトリはやめた、これは「 並列」ディレクトリだ。・・・ということで、OSASKでは並列ディレクト リで行きましょう。 並列ディレクトリをイメージするのは、簡単です。紙に丸をいくつか 描いて下さい。この丸がディレクトリです。そして、その丸と丸を線で 結んで下さい。結んだら、やじるしを描いて下さい。このやじるしがデ ィレクトリへの経路を示しています。ショートカットかもしれません。 並列ディレクトリではディレクトリ同士の親子間系を定義しません。そ して、ディレクトリからディレクトリへの移動(「cd abc」みたいなも の)は全て対等です。それゆえに、あるディレクトリを削除したからと いって、それにつながるディレクトリが削除されたりはしません(ただ 、削除したせいで、そのディレクトリ群にアクセスする方法が無くなっ た場合は削除します)。 また、これは意外かもしれませんが、ディレクトリに名前はありませ ん。なぜなら、あるディレクトリは、ABCDという名前で参照されたり、 「..」で参照されたり、「ABCDへのショートカット」という名前だった りするからです。本名はどれでしょう?なんていわれても、僕は困りま す。名前が付いているのは、ディレクトリではなく、経路です。つまり さっきの例えで言うと、丸には名前がありませんが、やじるしには名前 があります。 なお、セキュリティーはどうなったのかというと、経路の線に小さな 黒丸を描いて下さい。それがセキュリティーの検問です。くぐる時に、 チェックを受けるんです。 僕は、この並列ディレクトリをサポートするつもりでいます。もし、 管理がぐちゃぐちゃで嫌なら、階層ディレクトリのように扱うことも可 能です。シェルが並列に対応できず、階層のみのサポートにとどまって も構いません。とにかく、カーネルは並列ディレクトリ用に製作します (実は、後で分かったんですが、その方がルーチンがシンプルなのです )。 (Date: Wed, 23 Jul 1997 13:08:10 +0900)
(This host) = http://osask.net