匿名質問者

"ファイルシステム"という言葉がよくわかりません。


最近、GVFSというファイルシステムが出て来てニュースになりました(下記ニュース)
https://blogs.msdn.microsoft.com/visualstudioalm/2017/02/03/announcing-gvfs-git-virtual-file-system/

しかし、私の場合、"ファイルシステム"というとNTFSを始めとするハードディスクなどのディスクを管理するためのシステムのような気がしてしまいます。
そのため、HadoopのHDFSなどの言葉を見たとき「Hadoopを使うにはディスクの初期化が必要なのかな」と思ってしまいました。
特にHadoopを利用する機会もなかったので、この疑問はずっとそのままだったのですが、上記のニュースに触れたところで"ファイルシステム"という言葉を調べました。

その結果、「あるリクエスト(ファイルパスなど)にデータ本体を結びつけるシステム」と私は理解しました。

この理解で間違いはないでしょうか?

また、この質問とは直接関係ないのですが、最初に挙げたGVFSは.gitファイルを管理するようですが、どうやって管理するのでしょうか?
サービスとして立ち上がっていて、.git配下のファイルにアクセスがあると間に入って必要なファイルをダウンロードしたりするのでしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2017/02/08 18:44:28

ベストアンサー

匿名回答1号 No.1

"ファイルシステム"というとNTFSを始めとするハードディスクなどのディスクを管理するためのシステムのような気がしてしまいます。


基本的にはそうです。物理的なフロッピーやHDDの情報をファイルやフォルダとして抽象的に扱う枠組みです。

その結果、「あるリクエスト(ファイルパスなど)にデータ本体を結びつけるシステム」と私は理解しました。


しかし、抽象化するのは物理的に一つのデバイスに限定する必要もないので、より一般に複数のデバイスやらネットワーク上の"何か"をファイルやフォルダとして扱う枠組みも含みます。

GVFSについては良く知らないです。

匿名質問者

回答ありがとうございます。

理解が間違っていないようで安心しました。

元々はディスクがベースでどんどん広がって行ったイメージですかね。

GVFSについてはもう少し調べて見ます。ありがとうございました。

2017/02/08 18:43:52
  • 匿名回答2号
    匿名回答2号 2017/02/09 18:48:07
     広義のファイルシステムは、質問者様の書かれた通り、「名前とデータ実体を関連付ける機能」です。 「データの一塊(具象)を名前で扱える(抽象化)機能」と言い換えても良いでしょう。 この定義には、Winny や bitTorrent などの「ファイル流通用 P2P」や、Windows の SMB や、FTP や、DB の多くが含まれますが、通常、これらをファイルシステムに含めることはありません(私自身は、これらも機能的にはファイルシステムと区別できないと考えておりますが)。

     狭義のファイルシステムとは、OS が提供する・もしくは OS に密接に結びついている「ファイル名とデータ実体の関連を管理する機能」を指します。 Linux の ext や MacOS X の HFS、Windows の NTFS などはこれです。
    (参考:原始的なファイルシステムの解説 http://note.chiebukuro.yahoo.co.jp/detail/n77470 )

     ただ、近年は、特定の OS に依存するのではなく、ファイルシステムの機能の独立性を高め、汎用的にすることで、多種の端末からアクセスできるファイルシステムが多く使われています。 また、複数の「狭義のファイルシステム」を組み合わせて、1つの「大きなファイルシステム」に見せかける機能もファイルシステムと呼ばれています(テープを組み合わせたものもある)。 ですので、上述の「狭義の定義」は、やや古いと言えます。

     GVFS については私もよく知らないのですが、関連記事を見る限りでは、これは「ファイルシステム上にあるデータ実体の全てをローカルで扱うのではなく、『その時に』必要な最小限のデータ実体のみをローカル操作し、その際にデータ全体の整合性を管理することによって(おそらくここが GVFS の主要機能であろう)、『全体として整合の取れたファイルシステム』を提供する(仮想ファイルシステム)」機能ではないかと思えます。
    ( http://gigazine.net/news/20170208-microsoft-gvfs-problem/ より推察)
  • 匿名質問者
    匿名質問者 2017/02/14 10:53:57
    コメントの返しが遅れて申し訳ありません。

    元々はOS一台の使用を前提にしていたけども、どんどん複数の端末を束ねていったため意味が広がっていったイメージなのでしょうか。
    確かに調べて見るとSAN向けのGFSといったファイルシステムなんかもあるのですね(当然と言えば、当然かもしれませんが)。

    この観点から見ていくとHadoopのHDFSなどのwikipediaのページの意味もわかってきた気がします。
    - 一つの名前を管理するサーバ(ノード)NameNodeがあり、そのノードへファイルをリクエストする
    - データが格納されているは複数のファイルサーバに分割されてる(しかも常にデータを複数のサーバに冗長化できるような仕組みを持っている)
    - 各ファイルサーバ上ではOSの上に単なるファイルとして存在し、そのファイル構造を独自の形式で保存する(説明のURLにあったzipみたいな感じ)

    上記の仕組みをまるっとHDFSというのかな?と理解できました。


    GVFSについては、そろそろ週末などを利用して確認してみようと思います。

    ありがとうございます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません