Filesystem APIとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Filesystem APIの意味・解説 

ファイルシステムAPI

(Filesystem API から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/02 08:52 UTC 版)

ナビゲーションに移動 検索に移動

ファイルシステムAPIとは、開発者がファイルシステムオペレーティングシステム (OS) に移植する際のAPIであり、OSはそのファイルシステムについて何も知らなくてもよいように設計されている。

これはドライバAPIの機能と似ており、ユーザープログラムやOS自身はそのファイルシステムについて何も知らなくてもよい。

ファイルシステムAPIには一般的な保守機能(新しいファイルシステムの作成、メタデータの一貫性のチェック、デフラグなど)へのインタフェースを提供するものもあり、それらを実際に行うアプリケーションが新たなファイルシステムも透過的に扱えるようになっている。

歴史

本来、OSには一種類のディスクファイルシステムしかなかった。しかし、以下のような問題がシステムの発展に伴って発生してきた。

  • ネットワークが普及するにつれて、分散ファイルシステムが各OSで必要とされるようになった。
  • 異なるOS間でファイルを交換する必要性が増してきた。

古い手法では、全ファイルシステムとネットワークプロトコルはOSのカーネル内の固有機能であり、ファイルへのアクセスはローカルであれリモートであれ全てカーネル内で処理されていた。

この手法では、新たなファイルシステムのサポートはカーネルの大幅な改造を意味する。これは効率が悪いので、OS設計者はファイルシステムのコードをカーネル内のファイル操作やネットワーク処理のコードから分離するようにした。これがファイルシステムAPIである。

カーネル型API

カーネルがファイルシステム開発者向けAPIを提供するだけでなく、ファイルシステム自身がカーネル空間に置かれる場合に「カーネル型API」と呼ぶ。

従来の手法ではファイルシステムのコードはカーネル内の各コードと複雑に絡み合っていたが、カーネル型のファイルシステムAPIではファイルシステムがカーネルに提供すべきインタフェースとカーネルがファイルシステムに提供するインタフェースが明確化されている。

これは、最もきれいな手法とは言えないが、従来の手法の持っていた欠点を解決している。

モジュール化されたカーネルでは、ファイルシステムも他のモジュールのように追加可能なモジュールとして扱われる(つまり、APIだけでなくABIも規定されて、オブジェクトファイルの形で追加することが可能)。モジュール化されていないカーネルではファイルシステムのコードを追加したときにはカーネルの再コンパイルが必要である(従って、ソースの公開されていないOSでは、OS開発業者がOEM供給を受けてファイルシステムを追加することになる)。

Linuxを含めたUnix系システムはこの手法を採用している。

MS-DOS(4.0以降)と互換OSでは、同様の手法でCD-ROMやネットワークファイルシステムをサポートしていた。カーネルにコードを追加するのではなく、カーネルの機能を利用したカーネル型APIである。ファイル関連のコールを全て捉えて、必要に応じて特定のファイルシステムドライバを呼び出し、ファイルシステムドライバは低レベルなBIOS機能を使って直接ディスクにアクセスしていた。

ドライバ型API

カーネルが必要なAPIを提供するが、ファイルシステムが完全にユーザ空間にある場合、これをドライバ型APIと呼ぶ。

ファイルシステムのコードが独立しているので、これはよりきれいな手法と言える。この手法ではソースの公開されていないOSにも対応できるし、オンラインでファイルシステムの追加・削除が可能となる。

この手法の例として、Windows NTOS/2それぞれのIFSがある。

カーネル・ドライバ混合API

このAPIは、ファイルシステムがカーネル内にあるものの、実際にはそのファイルシステムを使わずにドライバ型APIの別のファイルシステムを使用するものである。この手法はVFATとしてWindows 3.11以降のWindows 9x系で使われたものである。

しかし、このAPIは完全な文書が存在せず、サードパーティーはこのインタフェースを使用したファイルシステム開発に非常に苦労したという。

ユーザーランド型API

このAPIはカーネルが特にファイルシステムのために用意したわけではない機能(一般のユーティリティなどがディスクアクセスに使用するライブラリ)でファイルシステムを構築するものを指す。

これは様々なディスクイメージを処理する手法として有効である。

この手法の大きな利点は、利用するインタフェースが標準的なライブラリだけであれば、多くのOSに簡単に移植できる点である。欠点は特にこのタイプのAPIが規定されていないので、ファイルシステム作成者によって使うAPIが全く異なる点である。

この手法の例として、HFSMac OS以外でもアクセスできるようにした hfsutils がある。

ファイルシステムAPI間の相互運用性

全てのファイルシステムはカーネルから同等の機能を提供されるので、違った型のAPIであっても、ファイルシステムをあるAPIから別のAPIに移植するのは可能である。

例えば、OS/2に移植された ext2ドライバは、Linux の VFS から OS/2 の IFS へのラッパーであり、ファイルシステム自体はLinuxのカーネル型のものである。OS/2のHFSドライバは上述のhfsutilsをOS/2のIFSに移植したものである。

関連項目

外部リンク


「Filesystem API」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Filesystem API」の関連用語

Filesystem APIのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Filesystem APIのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのファイルシステムAPI (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS