Category 2_11. ファイルシステム 〜ディレクトリ管理〜

「技術は輪廻する」

〜 クプ・ド・ンドブヴァ 〜

(コソコソ・・・
(ウンウン・・・ヤハリソウッスヨネ
お二人さん、何をしてらっしゃるのですか?

 

(コソコソ・・・ジャア、コレデイイナ?

(オッケーッス・・・コソコソ

??

 

よし、Mっぱげ!言ったれや!

前回の宿題の回答だっ!!

おっす!ファイルをツリー型で管理する事のメリットっす!!

それは、ずばり!!

・・・なんでしたっけ?先輩・・・。

・・・。

 

M・・・かわゆい奴め。

ファイル管理にとって一番重要なことは、OSが数あるファイルの中から選択されたファイルを特定して、それをメモリ上に呼び出す事!

そうっす!それっす!

つまり、ツリー型でファイルを管理する事は数あるファイルの中から特定ファイルを取ってくるのに適しているんすよっ!

ほぅ・・・?

では、それがどう適しているのか説明してくださいます?

 

よ、よし・・・。

例えばだな・・・今ハードディスクの中に10000個のファイルがあったとするよな?

ハードディスクは、えっと・・・ランダムアクセスっすから、一つ一つのデータに必ずアドレスが付いているはずなんす!
・・・。

 

OSが・・・というかカーネルがそれらファイル一つ一つのアドレスをテーブルで管理しているのかと最初思ったんだけどよ。

でも、この間何気なくWindowsを操作してたら、ぴーん!ときたんだ。

そうっす!ピーンッ!と来ちゃったっすっ!

フォルダの中をどんどんと掘り進めて行くと、アドレスバーって言うところに「D:\M\秘蔵フォルダ\ちょめちょめ\にゃんにゃん」みたいなのが載ってたんす!

・・・。

 

で、そのアドレスバーっていう奴の意味を考えてたらよ・・・これ住所の事なんだろ?

アドレスって言うくらいだからよ。

つまり!ルートから目的のファイルまでの経路自体がファイルの住所ってことだったんすよっ!

ハードディスクから、この「D:\M\秘蔵フォルダ\ちょめちょめ\にゃんにゃん」っていうアドレスの中からファイルを持ってくるっていう事っす!!

・・・にゃんにゃんっていうアドレスがハードディスク内にあるという発想は私でも流石に思いつかなかったですね。

 

やはり違うか・・・。さすがにゃんにゃんはねぇと思ったよ。
な、なんすかっ!!先輩が言うから恥ずかしいアドレスを公にしたんすよっ!!

そもそもフォルダ自身、ユーザが自由に作れるんですから。

ですが、途中までかなりいい線でしたね。

特にアドレスバーに気がつくとは流石私の教え子です。

 

やはり、な。ピーン!と来たからよ。
オイラも、このアドレスを見てピーン!っと来ちゃったっすよっ!!ピーーーンッ!!ってね!

その「ピーンッ!」っていう擬音語はやめて下さい・・・ナニがピーンと来てるんですか。違う想像しちゃいますよ。

ファイル管理にとって一番重要なのは、カーネルが特定のファイルをハードディスクから持ってくるという事ですね。

 

そうだな、そこまでは大丈夫だ。
(違う想像ってなんだろう・・・・ハッ!!?

ファイル名とアドレスのテーブルを作って管理するというシンプルな考え方もありますが、大変なんですそれ。

ファイルの数だけ、アドレスを常に管理する必要がありますから。

 

やっぱりそうだよな!?
やっぱり正解だったんじゃないっすか!?

そこで、ツリー構造にする事で覚えるアドレスの負荷分散を図るんですよ。

フォルダという存在はカーネルから見たら一つのファイルなんです。

では、そのフォルダファイルの中には何が書かれているかというと・・・。

 

フォルダの中に書かれているもの・・・?
どういう事っすかね・・・?

フォルダは、そのフォルダ内直下にあるシンボル達のアドレスが書かれているんです。

大事なのは直下にあるファイルやフォルダのシンボルだけです。

 

じゃあ、フォルダ内にあるフォルダの中のファイルのアドレスは知らないってことなのか?
シンボル・・・確か実ファイルをアイコンにしたものでしたね。

そうですね。つまりこの場合、

[pic_cat2_11_1 ディレクトリ管理]

フォルダAは、ファイルシンボルA,B,CとフォルダシンボルBのアドレスを管理しています。

フォルダB内にあるファイルシンボルD,EとフォルダシンボルCのアドレスは、フォルダBが管理しています。

 

つまり、ファイルDにアクセスするにはフォルダBからファイルシンボルDのアドレスを教えてもらわないといけないってことか?
なんか、効率がいいように思えないっすけどね。

フォルダBにファイルシンボルDのアドレスを聞くにも、フォルダシンボルBのアドレスが必要ですよね。

フォルダシンボルBのアドレスを知っているのは、フォルダAという事になるんです。

 

面倒だな・・・それ。
どこにメリットがあるんすかね。

でもよく考えて下さい。

ファイルシンボルEのアドレスもフォルダBが知っているという事は、やはりフォルダシンボルAのアドレスが一番初めに必要になるってことですよね?

 

まぁそうだな。

この場合、ファイルシンボルA,B,C,D,Eのアドレスを調べるには全てフォルダシンボルAのアドレスが必要になるな。

・・・ん?

え?なんすか、なんかひっかかるんすか先輩。

気がつきましたか?

つまり、5つのファイルがあるのにカーネルはフォルダシンボルAのアドレスさえ知っていれば全てのファイルのアドレスを知る事が出来るんですよ。

 

そ、そうだったのかあああっ!
はっはぁ・・・一見効率が悪いように見えてそんなすばらしいメリットがあるんすね。

効率は確かに悪いかもしれません・・・。

ですが、ツリー構造におけるファイルアクセスにおいてルートとなる一つのフォルダシンボルのアドレスさえ分かれば、いくら数千、数万、数十万のファイルがあっても簡単にアクセスできるんです。

 

そういう事か・・・つまり、Windowsの場合ルートとなるのはドライブ?って奴だったか?

あ、そうっすね!

CドライブとかDドライブとか!あれらのアドレスさえ分かればいいんすね?

そうですね。Windowsではドライブがルートになります。

つまり、CドライブとDドライブがあるという事は二つのツリー構造があるという事になります。

 

ツリー型を考えた奴は天才だなっ!!
天才の考える事は、やっぱりすげぇっす!

ツリー型は他にも「DNS」というネットワークサービスでも活用されていますが、それはまた別の話という事で。

実はまだ、このディレクトリ管理にはユーザ側にとってもメリットがあるんですよ。

 

ほぉ、今までの話はカーネルにとって管理する上でのメリットだったからな。

ユーザ側にとってのメリット・・・?

ひょっとしてアクセス制御とかっていう奴っすか?

M君、たまに鋭いですね。

そうです、「アクセスコントロール(ポリシー)」を行うにも適しているんです。

 

なんだ、そのアクセスコントロールやらポリシーっていうのは。
ある特定のフォルダに対してセキュリティをかけるんすよね?このユーザはこのフォルダにアクセスできるけど、このフォルダはアクセスできないとか。

そうです、よくご存知ですね、M君。

ツリー型に「継承」という概念を付け加える事で、フォルダの管理がぐーんと楽になるんです。

 

継承・・・?さっぱりだな。
継承?一子相伝北斗の拳!みたいなものっすか?

ツリー型には「親子関係」というものが存在します。丁度プロセス管理でお話した事でもありますがね。

親に対して制限したアクセス制御は子に継承させる事が出来ます。

 

ほぉ・・・つまり、親フォルダに対してアクセス制限をすると、それ以下にある子フォルダやファイルに対しても同じく制限がかかるってことか。

一子相伝どころじゃないっすね・・・。

でも、確かに一つ一つのフォルダやファイルに対してアクセス制限を設定していくのは大変っすよねー。

そうですね。なのでこういうツリー型は、グルーピングしてフォルダやファイルを管理する事が出来るので、ユーザ側にとって非常に分かり易く、かつ効率的に管理できるんです。

 

まぁ、俺もファイルを種類別にフォルダ分けとかしてるからなー。

はは・・・オイラはデスクトップ上に沢山ファイルが散らかってるっす・・・。

あっ!でも秘蔵ファイルはちゃんと整理整頓してるっすよ!?

ですが、近年一部の研究者はフォルダ分けの整理整頓に批判的なんです。

 

なんでだ・・・?
え、時代がオイラにおいついてきたってわけっすか!?
実際、どんなにフォルダ分けしてもファイルが増えてくると階層が深くなったり、フォルダ分けのポリシーが複雑になってきたりと、結果的に管理が大変になってくるんですよね。

 

ぐ・・・少し思い当たるな。

それじゃ本末転倒っすよねーー!はは!

じゃあ、やっぱりオイラみたいにあるがままな管理方法がいいんすかね?

M君はただ性格が雑なだけでしょうが・・・。

OSには大抵検索機能が備わっています。ファイルを利用するにはこの検索機能を使う事で瞬時にアクセスする事が出来るようになっています。

 

OSの検索機能を使うってわけか・・・。確かにそれならフォルダ分けしていてもしていなくても関係ないわな。
でも、沢山ファイルがあったら検索も時間かかっちゃうんじゃないっすか?

まぁ、そうですね。

なので検索を早める「Index検索」機能が付いてたりするんです。

ほら、よく本の巻末に用語の索引があるでしょ?OSは索引をあらかじめ作って検索をしているんですよ。

でもそのうち、本当にツリー型でのファイル管理が無くなり検索を主体におけるファイルシステムが出てくるかもしれませんね。

 

なるほど、色々考えているんだな。
はぁぁ、オイラも今度検索を使ってみるっす。

Googleなどでは、ツリー型ではなく「ラベル」によってデータを管理するシステムを作っていたりしますよね(G mail

ファイルやらフォルダのシンボル自体、そのうち無くなったりして。

 

ところで、そのファイルやらフォルダやらのシンボルってよ、今日は何気なく使ってたけどどういう意味だ?
そういえば、今日の話だとファイルシンボルとかフォルダシンボルのアドレスを調べるみたいな話だったっすけど、実ファイルの置いてあるアドレスとはまた違うんすかね?

実にいいところに気がついてくれました!!

それについては次回!実際のファイルアクセス手順についてみていきながら説明していきましょう!!

次回につなげられる話の振り方がだんだんと分かってきてくれましたね!

 

振りとかそういうつもりで聞いたわけじゃないんだけどよ・・・まぁいいか。
また次回を楽しみにしてるっすよ・・・。

本日は7470円になります。

ありがとうございました。

 

今日のポイント

 ・ツリー型においては、ルートのアドレス1つ知るだけで、全てのファイルにアクセスする事が可能である

 ・ツリー型は親子関係を持っている

 ・親から子へ制御情報を継承させることが出来る

前回へ TOPへ 次回へ

Copyright since 2010 IT Category Project All rights reserved.
inserted by FC2 system