フォーク_(ファイルシステム)
[Wikipedia|▼Menu]
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

この項目では、コンピュータ関連のフォークについて説明しています。その他の用法については「フォーク」をご覧ください。

フォーク (: fork)は、コンピュータのファイルシステムにおいてオブジェクトに結びつけられたメタデータである。ファイルシステムによっては、ファイルは一つかそれ以上のフォークを持つかもしれない。同様のファイルシステムの機能として拡張ファイル属性があるが、通常これのサイズに制限があるのに対し、フォークの場合は任意のサイズにすることができる。場合によってはデータのサイズより大きいかもしれない。マイクロソフトのプラットフォームでは、これは代替データストリーム (Alternate Data Stream、ADS)として知られている。
実装例
アップル「リソースフォーク」も参照

まずファイルシステムのフォークといえば、 AppleHFSファイルシステムが挙げられる[1]。このHFSやオリジナルのMFSは、オブジェクトに数種類のフォーク(データフォーク、リソースフォーク、複数の名前付きフォーク)を持たせることを可能にした。

リソースフォークはメタデータを保存する目的で設計された。ここでのメタデータは、ファインダや、アプリケーションのメニューやダイアログボックスで使われるファイルアイコンのようなGUIで使われる[2] 。機能は非常に柔軟だったので、付加的な利用法が見いだされた。たとえば、ワードプロセッサ文書の内容と体裁を分割し、体裁情報の方はリソースフォークに保存する手法である。

HFS+のあまり目立たない機能に、従来のデータフォークとリソースフォークだけでなく、ユーザ定義の「名前付きフォーク」を任意の数だけ持たせるというものがある。Mac OS 8.1からMac OS 10.3.9ではアップルがこれを全くサポートしなかったので、この機能はほとんど未使用の状態であった。Mac OS 10.4からは拡張インライン属性をサポートする為に部分的な実装が行なわれた。

Mac OS X v10.4までは、OSに付属する古典的なUnixコマンド(tarなど)を使うユーザはデータ損失のリスクを負った。バージョン10.4まではファイルのリソースフォークを扱うためのユーティリティをアップデートしなかったからである[3]
ノベル

1985年よりNovell NetWare File System (NEFS) とその後継Novell Storage Services (NSS) はファイルのメターデータを保存する様々な方法を使うようにゼロから設計された。いくつかのメタデータはNovell Directory Services (NDS) に備わり、いくつかはディスク上のディレクトリ構造に保存され、いくつかはノベル用語で 'multiple data streams' と呼ばれるファイル自身に保存される。Multiple data streamsはマッキントッシュのクライアントが扱い、NetWareサーバが扱うことができる。
マイクロソフト

マイクロソフトNTFSでは、フォークは代替データストリーム (Alternate Data Streams, ADS)として知られている[4]。1993年、マイクロソフトはNTFSファイルシステムを導入したWindows NTの最初のバージョンをリリースした。このファイルシステムでは、既にフォークをサポートしているOSとの互換性を保つために代替データストリームとして複数の名前付きフォークをサポートした。Windows 2000でマイクロソフトは作成者やタイトルといったファイル属性[5]やサムネイル画像[6]を保存するためにNTFSで代替データストリームを使うようになった。Windows XPのサービスパック2でマイクロソフトはAttachment Execution Service (AES)を導入した。これはファイルのダウンロード元の詳細を代替データストリームとして保存するものであり、ダウンロードファイルのリスクからユーザを保護する取り組みである[7]

Windows NTはAPIでフォークを扱う機能をもつ。いくつかのコマンドラインツールはフォークを作成し、アクセスすることができる。しかし、Windows Explorerdirなどのほとんどのプログラムはこれを無視する。Windows Explorerはフォークをコピーし、もしコピー先のファイルシステムがフォークをサポートしない場合は警告を出す。しかし主フォークのサイズだけを表示し、ファイルやフォルダのストリームは一覧表示しない。Windows VistaのDIRコマンドではフォークを一覧表示するオプションが追加された[8]
可能なセキュリティとデータ損失のリスク

ファイルシステムが異なるフォークをサポートする場合、アプリケーションはそれを意識すべきであり、またセキュリティのリスクが発生する。適切なshimなしにデータにアクセスすることが出来る古典的なソフトウェアは、これらの問題に対して根本的な原因となりうる。

もし異なるシステムユーティリティ(ディスク操作、アンチウイルスソフト、アーカイバ等)が異なるフォークを認識しなければ、以下のような問題が発生する。

いかなる代替フォークの存在も、ファイルの全サイズも、ユーザは決して知ることができない。

コンピュータウイルスはWindowsの代替フォークに潜むことができるし、フォークを認識しないアンチウイルスソフトは決してそれを検出しない。

フォークを認識しない伝送路を経由してファイルが送られたとき、データが損失する。これらには、電子メール、フォークをサポートしないファイルシステム、たとえファイルシステムがフォークをサポートしたとしてもフォークをサポートしないプログラムでコピーした場合、またはフォークをサポートしないソフトで圧縮した場合などがある。

脚注[脚注の使い方]
出典^ Apple (1996年7月2日). “File Forks”. Apple. 2008年7月24日時点の ⇒オリジナルよりアーカイブ。2006年11月18日閲覧。
^ Bruce Horn. “The Grand Unified Model (1) - Resources”. Folklore.org. 2006年10月23日時点の ⇒オリジナルよりアーカイブ。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:12 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef