「ファイルシステム」の版間の差分

削除された内容 追加された内容
m 意図不明に削除された文言を改変して復帰。どうしてUnix的FS管理の下りを削除したのか意図を明確にして下さい。/誤字修正
HalfDesire (会話 | 投稿記録)
m編集の要約なし
10行目:
ファイルシステムがストレージ上にあるかどうかに関わらず、一般的なファイルシステムはファイルの'''[[ファイル名]]'''を束ねるディレクトリを持つ。通常、ファイル名は何らかのファイル・アロケーション・テーブルのインデックスと対応しており、それは[[MS-DOS]]のファイルシステムである[[File Allocation Table|FAT]]でも、[[Unix系]]ファイルシステムでの[[inode]]でもそのようになっている。ディレクトリ構造は平坦な場合もあるし、ディレクトリの下にサブディレクトリのある階層構造の場合もある。いくつかのファイルシステムではファイル名も構造化されていて、[[拡張子]]やバージョン番号の文法が存在する。そうでない場合、ファイル名は単なる文字列であり、ファイル毎の[[メタデータ]]は適当な場所に格納される。
 
階層型ファイルシステムは[[UNIX]]で有名な[[デニス・リッチー]]の初期の研究対象であった。それまでの実装では階層はあまり深くできなかった。例えば[[IBM]]の初期に生まれたデータベース管理システムである[[IMS]]などがそうである。UNIXの成功により、リッチーはその後のOS開発([[Plan 9 from Bell Labs|Plan 9]]や[[Inferno (オペレーティングシステム)|Inferno]])でもファイルシステムのコンセプトを様々な対象に広げていった。
 
初期のファイルシステムはファイルとディレクトリの生成、移動、削除といった機能を提供していた。ディレクトリへの追加リンクを生成する機能(UNIXにおける[[ハードリンク]])、親リンク(Unix系OSにおける「<tt>'''..'''</tt>」)の名称変更、ファイル間の双方向リンクの生成といった機能は当初は存在しなかった。
97行目:
 
=== ベル研究所のPlan 9のファイルシステム ===
[[Plan 9 from Bell Labs]] (Plan 9) はUNIXの長所を拡張して新たなアイデアを導入し、UNIXの欠点を修正したものとして計画された。
 
ファイルシステムの観点から言えば、UNIX的に何でもファイルとして扱うという思想は変わっていないが、Plan 9では本当に「すべて」がファイルとして扱われ、アクセスされる(つまりioctlもmmapもない)。ファイルインターフェイスを汎用化すると同時にそれを大幅に単純化している。例えば、シンボリックリンクもハードリンクも[[setuid|suid]]も古い機能とされ (obsolete)、アトミックなcreate/open操作が導入された。重要な点はファイル操作がうまく定義されているためにioctlなどを排除できたことである。