[brainix commit] r197 - wiki

2 views
Skip to first unread message

codesite...@google.com

unread,
Aug 26, 2007, 12:55:31 AM8/26/07
to bra...@googlegroups.com
Author: james.d.taylor
Date: Sat Aug 25 21:54:43 2007
New Revision: 197

Modified:
wiki/HighLevelVFS.wiki

Log:
Edited wiki page through web user interface.

Modified: wiki/HighLevelVFS.wiki
==============================================================================
--- wiki/HighLevelVFS.wiki (original)
+++ wiki/HighLevelVFS.wiki Sat Aug 25 21:54:43 2007
@@ -110,4 +110,7 @@

-So let me get the data structures right...correct me if I am wrong. We have a "resource system" which "mounts" and "unmounts" a sort of "resource manager". A "resource manager" keeps track of "resources". A "resource" is a generalization of the file. So a low level virtual file system is a "resource manager" with the vnodes (or whatever) being the "resources". The "/sys/dev/" directory is-a "resource manager" (well, the directory instantiation of it?) with the devices as "resources". The "/sys/proc/" directory is-a "resource manager" (again, the directory instantiation of it?) with the processes as "resources". So on and so forth, right?

--I may not have made it clear when I presented the Solaris/BSD paradigm for the low level virtual file system, but it has two main data structures: `struct vfs` and `struct vnode`. The `struct vfs` represents the file system that is mounted. It forms a linked list. The head of the linked list is always the root file system. But the Solaris/BSD guys implemented the `/proc` pseudo-file system as a `struct vfs` mounted by the virtual file system! The same goes for the `/dev` pseudo-file system too! (See sections 4.7 and 4.8 of http://www.arl.wustl.edu/~fredk/Courses/cs523/fall01/Papers/kleiman86vnodes.pdf ) It seems to me that this is being reimplemented with the `struct vnode_ops` being generalized to include more function pointers. Am I mistaken? (Sorry for breaking my response in two, but I thought it was cleaner this way) (pqnelson)
\ No newline at end of file
+-I may not have made it clear when I presented the Solaris/BSD paradigm for the low level virtual file system, but it has two main data structures: `struct vfs` and `struct vnode`. The `struct vfs` represents the file system that is mounted. It forms a linked list. The head of the linked list is always the root file system. But the Solaris/BSD guys implemented the `/proc` pseudo-file system as a `struct vfs` mounted by the virtual file system! The same goes for the `/dev` pseudo-file system too! (See sections 4.7 and 4.8 of http://www.arl.wustl.edu/~fredk/Courses/cs523/fall01/Papers/kleiman86vnodes.pdf ) It seems to me that this is being reimplemented with the `struct vnode_ops` being generalized to include more function pointers. Am I mistaken? (Sorry for breaking my response in two, but I thought it was cleaner this way) (pqnelson)
+
+- I was not aware that BSD made this distinction between VFS levels. It's nice to know that it is a common convention now and not some new fangled idea from outer-space. As for vnode_ops being generalized... yes. Generalized to a degree of minimalistic CRUD. No pun intended. (jdt)
+

Reply all
Reply to author
Forward
0 new messages