日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
VNODE(9) FreeBSD カーネル開発者マニュアル VNODE(9) 名称 vnode -- ファイルまたはディレクトリの内部表現 書式 #include <sys/param.h> #include <sys/vnode.h> 解説 vnode は、UNIX のすべてのファイル活動の焦点です。vnode は、struct vnode によって記述されます。活動的なファイルごとに、現在のディレクトリごとに、 マウントされたファイルごとに、テキストファイルとルートのために割り付けら れたユニークな vnode があります。 各 vnode には、3 つの参照カウント、v_usecount, v_holdcnt と v_writecount があります。最初は、この vnode を使用しているカーネル内のクライアントの数 です。このカウントは、vref(9), vrele(9) と vput(9) によって保守されます。 2 番目は、この vnode の再利用を拒否するカーネル内のクライアントの数です。 このカウントは、vhold(9) と vdrop(9) によって保守されます。vnode の v_usecount と v_holdcnt の両方が 0 に達するとき、vnode は、フリーリストに 置かれ、恐らく別のファイルシステムで別のファイルのために再使用されます。 フリーリストからの遷移は、getnewvnode(9) によって扱われます。3 番目は、 ファイルに書き込んでいるクライアントの数のカウントです。それは、open(2) と close(2) システムコールによって保守されます。 vnode を返すあらゆる呼び出し (例えば、vget(9), VOP_LOOKUP(9) など.) は、 vnode の v_usecount を 1 つ増加させます。呼び出し側が vnode で終了される とき、それは、vrele(9) (または vnode がロックされるなら、vput(9)) を呼び 出すことによって、この参照を解放するべきです。 vnode 構造体の他の共通に使用されるメンバは、名前キャッシュの一貫性を保守 するために使用される v_id、vnode を所有するファイルシステムを指す v_mount、vnode が表わすオブジェクトのタイプを含んでいる v_type、と vnode でファイルシステムの特有のデータを格納するためにファイルシステムによって 使用される v_data です。v_op フィールドは、vnode の機能を実装するファイル システムの関数を呼び出すために VOP_* マクロによって使用されます。 VNODE のタイプ VNON タイプなし。 VREG 通常ファイル。VM オブジェクトの裏打ちがあるか、またはないかもしれ ません。これが裏打ちされたオブジェクトを得ることを確認したいなら、 vnode_create_vobject() を呼び出します。 VDIR ディレクトリ。 VBLK ブロックデバイス。VM オブジェクトの裏打ちがあるか、またはないかも しれません。これが裏打ちされたオブジェクトを得ることを確認したいな ら、vnode_create_vobject() を呼び出します。 VCHR キャラクタデバイス。 VLNK シンボリックリンク。 VSOCK ソケット。問合せ型 (advisory) ロックは、これで動作しません。 VFIFO FIFO (名前付きパイプ)。問合せ型 (advisory) ロックは、これで動作し ません。 VBAD vnode が再請求 (reclaim) されたことを示します。 実装に関する注 VFIFO は、/sys/kern/sys_pipe.c の "struct fileops" を使用します。VSOCK は、/sys/kern/sys_socket.c の "struct fileops" を使用します。ほかのすべて は、/sys/kern/vfs_vnops.c のものを使用します。 いったいなぜ "struct fileops" が使用されるかである、VFIFO/VSOCK コード は、カーネルへの VFS コードの不完全な統合の悪い副作用 (artifact) です。 vnode インタロックを保持しているとき、malloc(9) または free(9) への呼び出 しによって、LOR (Lock Order Reversal) は、VM オブジェクトと Vnode を結び 付けます。 関連項目 malloc(9), VFS(9), VOP_ACCESS(9), VOP_ACLCHECK(9), VOP_ADVISE(9), VOP_ADVLOCK(9), VOP_ALLOCATE(9), VOP_ATTRIB(9), VOP_BWRITE(9), VOP_CREATE(9), VOP_FSYNC(9), VOP_GETACL(9), VOP_GETEXTATTR(9), VOP_GETPAGES(9), VOP_INACTIVE(9), VOP_IOCTL(9), VOP_LINK(9), VOP_LISTEXTATTR(9), VOP_LOCK(9), VOP_LOOKUP(9), VOP_OPENCLOSE(9), VOP_PATHCONF(9), VOP_PRINT(9), VOP_RDWR(9), VOP_READDIR(9), VOP_READLINK(9), VOP_REALLOCBLKS(9), VOP_REMOVE(9), VOP_RENAME(9), VOP_REVOKE(9), VOP_SETACL(9), VOP_SETEXTATTR(9), VOP_STRATEGY(9), VOP_VPTOCNP(9), VOP_VPTOFH(9) 作者 このマニュアルページは、Doug Rabson によって書かれました。 FreeBSD 11.4 February 12, 2014 FreeBSD 11.4