ファイルシステム

ファイルシステムは、コンピュータのリソースを操作するための、オペレーティングシステムが持つ機能の一つ。ファイルとは、主に補助記憶装置に格納されたデータを指すが、デバイスプロセスカーネル内の情報といったものもファイルとして提供するファイルシステムもある。

より正確に定義すれば、ファイルシステムは抽象データ型の集まりであり、ストレージ、階層構造、データの操作/アクセス/検索のために実装されたものである。ファイルシステムを特殊用途のデータベース管理システム (DBMS) と見なせるかどうかは議論があるが、ファイルシステムデータベース管理システムには多くの共通点がある。

元々はファイリングシステム(文書管理システム)から生まれた語である。

概要

最も身近なファイルシステム補助記憶装置上のもので、「セクタ」などと呼ばれる通常512バイトの固定サイズの「ブロック」の配列アクセスするものである。ファイルシステムはこのセクタ群を使用してファイルディレクトリを構成し、各セクタがどのファイルに使用され、使用されていないセクターはどれなのかを把握する必要がある。

しかし、ファイルシステム自体は記憶装置を利用する必要はない。ファイルシステムは何らかのデータへの操作とアクセスを提供するものであり、そのデータが記憶装置に格納されているか(例えば、ネットワーク接続経由で)動的に生成させるかは問題ではない。

ファイルシステムストレージ上にあるかどうかに関わらず、一般的なファイルシステムファイルファイル名を束ねるディレクトリを持つ。通常、ファイル名は何らかのファイル・アロケーション・テーブルのインデックスと対応しており、それはMS-DOSファイルシステムであるFATでも、UNIXファイルシステムでのinodeでもそのようになっている。ディレクトリ構造は平坦な場合もあるし、ディレクトリの下にサブディレクトリのある階層構造の場合もある。いくつかのファイルシステムではファイル名も構造化されていて、拡張子バージョン番号の文法が存在する。そうでない場合、ファイル名は単なる文字であり、ファイル毎のメタデータは適当な場所に格納される。

階層型ファイルシステムUNIXで有名なデニス・リッチーの初期の研究対象であった。それまでの実装では階層はあまり深くできなかった。例えばIBMの初期に生まれたデータベース管理システムであるIMSなどがそうである。UNIXの成功により、リッチーはその後のOS開発(Plan 9やInferno)でもファイルシステムのコンセプトを様々な対象に広げていった。

初期のファイルシステムファイルディレクトリの生成、移動、削除といった機能を提供していた。ディレクトリへの追加リンクを生成する機能(UNIXにおけるハードリンク)、親リンクUNIX系OSにおける"..")の名称変更、ファイル間の双方向リンクの生成といった機能は当初は存在しなかった。

初期のファイルシステムファイルの切捨て(内容を一部削除すること)、ファイルファイルの連結、ファイルの生成、ファイルの移動、ファイルの削除、ファイルの更新などの機能を提供していた。ファイルの先頭へのデータ挿入 (prepend)、ファイルの先頭からの内容切捨て、任意の位置の内容の削除や挿入などといった機能は提供されていなかった。提供された操作は対称性に乏しく、どんな状況でも便利というものではない。例えばUNIXにおけるプロセス間のパイプファイルシステム上には実装できない。というのもパイプファイル先頭からの切捨てに対応できないためである。

ファイルシステムの基本操作への安全なアクセスアクセス制御リストまたはケーパビリティに基づいてわれる。研究によれば、アクセス制御リストは完全なセキュリティを確保するのが困難といわれており、研究中の最新のOSではケーパビリティが使われる傾向にある。商用ファイルシステムはまだアクセス制御リストを使用している(コンピュータセキュリティ参照)。

また、アプリケーションソフトウェアの中にも、独自のファイルシステムを採用しているものがある。(FMRシリーズ・FM TOWNS用のワープロソフトウェアである「FM-OASYS」など)

ファイルシステム」『フリー百科事典 ウィキペディア日本語版』(http://ja.wikipedia.org/)。2009年7月28日15時(日本時間)現在での最新版を取得。

「ファイルシステム」トップに戻る



2010年プロバイダー【顧客満足度】NO.1 トリプル受賞  ASAHIネット

入会・お問い合わせダイヤル
0120-030-275
携帯電話/PHS/IP電話などからは
03-3569-3526

10:00~19:00(土日祝~17:00)

書面での申し込みはこちら
資料請求

このページのトップヘ