カーネル型API
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/02 08:52 UTC 版)
「ファイルシステムAPI」の記事における「カーネル型API」の解説
カーネルがファイルシステム開発者向けAPIを提供するだけでなく、ファイルシステム自身がカーネル空間に置かれる場合に「カーネル型API」と呼ぶ。 従来の手法ではファイルシステムのコードはカーネル内の各コードと複雑に絡み合っていたが、カーネル型のファイルシステムAPIではファイルシステムがカーネルに提供すべきインタフェースとカーネルがファイルシステムに提供するインタフェースが明確化されている。 これは、最もきれいな手法とは言えないが、従来の手法の持っていた欠点を解決している。 モジュール化されたカーネルでは、ファイルシステムも他のモジュールのように追加可能なモジュールとして扱われる(つまり、APIだけでなくABIも規定されて、オブジェクトファイルの形で追加することが可能)。モジュール化されていないカーネルではファイルシステムのコードを追加したときにはカーネルの再コンパイルが必要である(従って、ソースの公開されていないOSでは、OS開発業者がOEM供給を受けてファイルシステムを追加することになる)。 Linuxを含めたUnix系システムはこの手法を採用している。 MS-DOS(4.0以降)と互換OSでは、同様の手法でCD-ROMやネットワークファイルシステムをサポートしていた。カーネルにコードを追加するのではなく、カーネルの機能を利用したカーネル型APIである。ファイル関連のコールを全て捉えて、必要に応じて特定のファイルシステムドライバを呼び出し、ファイルシステムドライバは低レベルなBIOS機能を使って直接ディスクにアクセスしていた。
※この「カーネル型API」の解説は、「ファイルシステムAPI」の解説の一部です。
「カーネル型API」を含む「ファイルシステムAPI」の記事については、「ファイルシステムAPI」の概要を参照ください。
- カーネル型APIのページへのリンク