What is inode for, in FreeBSD or Solaris

filesystemsfreebsdinodesolaris

I know a little about linux kernel. BUt for Freebsd, the "vnode" actually is similar to the "inode" in Linux kernel.

And there is a "inode" concept in FreeBSD or Solaris.

So my question is: what is "inode" in FreeBSD for?

Below is good to read.

Thank you.

http://hub.opensolaris.org/bin/view/Community+Group+advocacy/solaris-linux-freebsd

All three operating systems use a data abstraction layer to hide file
system implementation details from applications. In all three OSes,
you use open, close, read, write, stat, etc. system calls to access
files, regardless of the underlying implementation and organization of
file data. Solaris and FreeBSD call this mechanism VFS ("virtual file
system") and the principle data structure is the vnode, or "virtual
node." Every file being accessed in Solaris or FreeBSD has a vnode
assigned to it. In addition to generic file information, the vnode
contains pointers to file-system-specific information. Linux also uses
a similar mechanism, also called VFS (for "virtual file switch"). In
Linux, the file-system-independent data structure is an inode. This
structure is similar to the vnode on Solaris/FreeBSD. (Note that there
is an inode structure in Solaris/FreeBSD, but this is
file-system-dependent data for UFS file systems). Linux has two
different structures, one for file operations and the other for inode
operations. Solaris and FreeBSD combine these as "vnode operations."

Best Answer

An inode is a structure in some file systems that holds a file or directory's metadata (all the information about the file, except its name and data). It holds information about permissions, ownership, creation and modification times, etc.

Systems the offer a virtualised file system access layer (FreeBSD, Solaris, Linux), can support different underlying file systems which may or may not utilise inodes. ReiserFS, for example, doesn't use them, whereas FreeBSD's ffs2 does. The abstraction layer through which you access the file system provides a single and well-defined interface for file operations, so that applications don't need to know about the differences between different file system implementations.