Eu só estava me perguntando por que o servidor NFS Linux é implementado no kernel, em oposição a um aplicativo de espaço do usuário?
Sei que existe um daemon NFS no espaço do usuário , mas não é o método padrão para fornecer serviços de servidor NFS.
Eu pensaria que a execução do servidor NFS como um aplicativo de espaço de usuário seria a abordagem preferida, pois pode fornecer segurança adicional com um daemon executado no espaço de usuário em vez do kernel. Também se encaixaria no princípio comum do Linux de fazer uma coisa e fazê-lo bem (e que daemons não deveriam ser um trabalho para o kernel).
De fato, o único benefício que consigo pensar em executar no kernel seria um aumento no desempenho da alternância de contexto (e esse é um motivo discutível).
Portanto, existe algum motivo documentado para que seja implementado do jeito que é? Tentei pesquisar no Google, mas não consegui encontrar nada.
Parece haver muita confusão, observe que não estou perguntando sobre a montagem de sistemas de arquivos, mas sobre o fornecimento do lado do servidor de um sistema de arquivos de rede . Há uma diferença muito distinta. A montagem de um sistema de arquivos localmente requer suporte para o sistema de arquivos no kernel, desde que não seja necessário (por exemplo, samba ou unfs3).
unfs3
(que é um servidor NFS) sem qualquer suporte ao kernel.