Eu sei um pouco sobre o kernel do Linux. Mas para o Freebsd, o "vnode" na verdade é semelhante ao "inode" no kernel do Linux.
E existe um conceito de "inode" no FreeBSD ou Solaris.
Então minha pergunta é: para que serve o "inode" no FreeBSD?
Abaixo é bom ler.
Obrigado.
http://hub.opensolaris.org/bin/view/Community+Group+advocacy/solaris-linux-freebsd
Todos os três sistemas operacionais usam uma camada de abstração de dados para ocultar dos aplicativos os detalhes de implementação do sistema de arquivos. Em todos os três sistemas operacionais, você usa chamadas de sistema open, close, read, write, stat, etc. para acessar arquivos, independentemente da implementação e organização subjacentes dos dados do arquivo. Solaris e FreeBSD chamam esse mecanismo de VFS (“sistema de arquivos virtual”) e a principal estrutura de dados é o vnode, ou “nó virtual”. Cada arquivo acessado no Solaris ou FreeBSD possui um vnode atribuído a ele. Além das informações genéricas do arquivo, o vnode contém ponteiros para informações específicas do sistema de arquivos. O Linux também usa um mecanismo semelhante, também chamado VFS (para "troca de arquivo virtual"). No Linux, a estrutura de dados independente do sistema de arquivos é um inode. Esta estrutura é semelhante ao vnode no Solaris/FreeBSD. (Observe que existe uma estrutura de inode no Solaris/FreeBSD, mas estes são dados dependentes do sistema de arquivos para sistemas de arquivos UFS). O Linux possui duas estruturas diferentes, uma para operações de arquivo e outra para operações de inode. Solaris e FreeBSD combinam isso como "operações vnode".
Responder1
An inode
é uma estrutura em alguns sistemas de arquivos que contém os metadados de um arquivo ou diretório (todas as informações sobre o arquivo, exceto seu nome e dados). Ele contém informações sobre permissões, propriedade, tempos de criação e modificação, etc.
Os sistemas que oferecem uma camada de acesso ao sistema de arquivos virtualizado (FreeBSD, Solaris, Linux) podem suportar diferentes sistemas de arquivos subjacentes que podem ou não utilizar inodes. O ReiserFS, por exemplo, não os utiliza, enquanto o FreeBSD os ffs2
utiliza. A camada de abstração através da qual você acessa o sistema de arquivos fornece uma interface única e bem definida para operações de arquivos, para que os aplicativos não precisem saber sobre as diferenças entre diferentes implementações de sistemas de arquivos.