誕生日にもらった意外なもの

UNIXのVノードについて、ネット検索でいろいろと調べましたが、わかりませんでした。

Vノードについて、教えてください。

A 回答 (1件)

UNIX(に限らずたいてのOS)はいろんなタイプのファイルシステム


を扱えますが、そのタイプごとにファイルに関してどのような情報
が保持されているか、そのファイルをどのように取り扱うかが異な
ります。

ファイルの情報は使用中にメモリに入れておくことになりますが、
タイプによらない統一的な方法で格納するのが得策です。そこで、
どのタイプでも最小限必要となる情報をファイルごとに格納したも
のが vnode です。メモリ中には vnode の表が用意されます。
vnode には、単に最小限の情報だけでなく、タイプに固有の情報の
格納場所や、タイプによって異なるファイル操作用の関数のポイン
タなども保持されます。

UNIXの標準のファイルシステムでは、inode というファイルごとの
情報がファイルシステム内に保存されています。それ1種類しかファ
イルシステムがないころのUNIXでは、このinodeをメモリにそのま
まコピーして利用していましたが、ファイルシステムの種類が増え
た時にこれを一般的に拡張してvnodeが生まれました。従って、
UNIXの系統によってはvnodeを使わない実現をしているものもあり
ます。

vnodeの解説は、そこらのWEBページや学部レベルのOSの教科書では、
なかなかないかもしれません。「UNIX 4.3BSDの設計と実装」とか
「The Design and Implementation of the 4.4BSD Operating System」
あたりを読むのがいいかと思います。
    • good
    • 0
この回答へのお礼

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

とてもわかりやすい内容で、参考文献まで紹介していただき、ありがとうございました。

お礼日時:2001/06/17 00:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!