Interface do sistema de arquivos

No NFS há uma interface que possibilita a manipulação de qualquer sistema de arquivos na máquina, ou seja, faz interação entre uma chama de sistema e os sistemas de arquivos da máquina.

Esta interface está presente tanto em clientes quanto em servidores.

Um sistema de arquivos na máquina pode ser o próprio sistema de arquivo da máquina que opera os arquivos em disco, ou o sistema de arquivo NFS acessado pelo cliente, neste caso, em relação ao NFS, ambos serão manipulados pela interface do sistema de arquivos.

A interface é composta por dois membros:

Virtual File System(VFS) define as operações que podem ser realizadas em um sistema de arquivos.

Virtual Node(Vnode) define as operações que podem ser realizadas em um nó do sistema de arquivos. Um nó é um objeto do sistema de arquivos, ou seja, um arquivo ou um diretório.

Exemplos de operações da interface:

.mount: chamada de sistema para montagem de um sistema de arquivos, é definida como uma operação de sistema de arquivos.

.unmount: operação que desmonta um sistema de arquivos, é definida como uma operação de VFS, é necessário a passagem de um vfs como parâmetro.

.root: chamada que retorna o vnode do diretório raiz do sistema de arquivos, é uma operação de VFS e é necessário o vfs como parâmetro.

.lookup: operação que pesquisa se um arquivo está no diretório, é uma operação de Vnode, é necessário como parâmetros um ponteiro para o vnode do diretório e o nome do arquivo a ser pesquisado, e tem como retorno um ponteiro para o vnode.

Algumas operações Vnode possuem equivalência com os procedimentos do protocolo NFS, como lookup, acess, create, mkdir, entre outras.