この手法では、新たなファイルシステムのサポートはカーネルの大幅な改造を意味する。これは効率が悪いので、OS設計者はファイルシステムのコードをカーネル内のファイル操作やネットワーク処理のコードから分離するようにした。これがファイルシステムAPIである。
カーネル型API.
カーネルがファイルシステム開発者向けAPIを提供するだけでなく、ファイルシステム自身がカーネル空間に置かれる場合に「カーネル型API」と呼ぶ。
従来の手法ではファイルシステムのコードはカーネル内の各コードと複雑に絡み合っていたが、カーネル型のファイルシステムAPIではファイルシステムがカーネルに提供すべきインタフェースとカーネルがファイルシステムに提供するインタフェースが明確化されている。
これは、最もきれいな手法とは言えないが、従来の手法の持っていた欠点を解決している。
ドライバ型API.
カーネルが必要なAPIを提供するが、ファイルシステムが完全にユーザ空間にある場合、これをドライバ型APIと呼ぶ。
ファイルシステムのコードが独立しているので、これはよりきれいな手法と言える。この手法ではソースの公開されていないOSにも対応できるし、オンラインでファイルシステムの追加・削除が可能となる。
カーネル・ドライバ混合API.
しかし、このAPIは完全な文書が存在せず、サードパーティーはこのインタフェースを使用したファイルシステム開発に非常に苦労したという。
ユーザーランド型API.
このAPIはカーネルが特にファイルシステムのために用意したわけではない機能（一般のユーティリティなどがディスクアクセスに使用するライブラリ）でファイルシステムを構築するものを指す。
これは様々なディスクイメージを処理する手法として有効である。
この手法の大きな利点は、利用するインタフェースが標準的なライブラリだけであれば、多くのOSに簡単に移植できる点である。欠点は特にこのタイプのAPIが規定されていないので、ファイルシステム作成者によって使うAPIが全く異なる点である。
ファイルシステムAPI間の相互運用性.
全てのファイルシステムはカーネルから同等の機能を提供されるので、違った型のAPIであっても、ファイルシステムをあるAPIから別のAPIに移植するのは可能である。
石束源五兵衛
聖約翰科技大学
歴史.