Virtual File System

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

仮想ファイルシステム (Virtual File System, VFS) は、実際のファイルシステムの上位に位置する抽象化層である。VFSの目的はクライアントアプリケーションが様々なファイルシステムに同じ方法でアクセスできるようにすることである。例えば VFS を使うと、クライアントアプリケーションはローカル記憶装置にもネットワーク上の記憶装置にも透過的にアクセスできるため、その違いを意識する必要がない。あるいは、WindowsMac OSUNIXといったオペレーティングシステム (OS) の違いを超えてファイルシステムの違いを意識することなくアクセスすることが可能となる。

VFSは、カーネルと実際のファイルシステムとのインタフェースあるいは規約を定義している。従って、その規約に従うことで簡単に新たなファイルシステムをカーネルに追加することができる。規約の条件はリリースの度に非互換な変更を加えられる可能性があり、ファイルシステムは新たなリリースに対応するために修正を施したり、再コンパイルする必要がある。あるいは、OS側で規約変更を下位互換を保つように行っていれば、各ファイルシステムは新たなバージョンのOSでもそのまま使用可能となる。

実装

Unix系システムでの最初のVFS機構は、サン・マイクロシステムズ(サン)がSunOS 2.0に導入した。その時点で、ローカルなUFSファイルシステムとリモートのNFSファイルシステムを透過的に使用することができた。このため、サンからNFSのコードをライセンス供与されたUNIXベンダー各社は、サンのVFSの設計をコピーすることが多かった。他のファイルシステムを追加することが容易になり、サンはVFS機構を利用してMS-DOSFATファイルシステムを実装した(SunOS 4.1 まで出荷されなかった)。SunOSの実装はSystem V Release 4のVFS機構の基盤となった。

John Heidemannは、実験的なFicusファイルシステムのために SunOS 4.0で 「スタッキング (stacking)」VFS を開発した。この設計は、実装は異なるが意味的には同等のファイルシステム間でコードの再利用を可能にした(例えば、暗号化ファイルシステムは暗号化されていない他のファイルシステムのファイル名管理とストレージ管理のコードを利用することができた)。Heidemann はこの成果を 4.4BSD でも使用した。Mac OS Xを含むBSD系のOSでは、彼のStacking VFSのコードが使われている。

その他のUnix系システムでのVFS機構として、System V Release 3の File System Switch、UltrixのGeneric File System、LinuxのVFSなどがある。OS/2とWindowsでは、VFSと同等の機構をInstallable File Systemと呼ぶ。

外部リンク

以下、英文

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net