ファイルシステムAPI
このAPIはカーネルが特にファイルシステムのために用意したわけではない機能(一般のユーティリティなどがディスクアクセスに使用するライブラリ)でファイルシステムを構築するものを指す。
これは様々なディスクイメージを処理する手法として有効である。
この手法の大きな利点は、利用するインタフェースが標準的なライブラリだけであれば、多くのOSに簡単に移植できる点である。欠点は特にこのタイプのAPIが規定されていないので、ファイルシステム作成者によって使うAPIが全く異なる点である。
この手法の例として、HFSをMac OS以外でもアクセスできるようにした hfsutils がある。
全てのファイルシステムはカーネルから同等の機能を提供されるので、違った型のAPIであっても、ファイルシステムをあるAPIから別のAPIに移植するのは可能である。
例えば、OS/2に移植された ext2ドライバは、Linux の VFS から OS/2 の IFS へのラッパーであり、ファイルシステム自体はLinuxのカーネル型のものである。OS/2のHFSドライバは上述のhfsutilsをOS/2のIFSに移植したものである。
カーネルが必要なAPIを提供するが、ファイルシステムが完全にユーザ空間にある場合、これをドライバ型APIと呼ぶ。
ファイルシステムのコードが独立しているので、これはよりきれいな手法と言える。この手法ではソースの公開されていないOSにも対応できるし、オンラインでファイルシステムの追加・削除が可能となる。
この手法の例として、Windows NTとOS/2それぞれのIFSがある。