我只是想知道为什么Linux NFS服务器是在内核中而不是在用户空间应用程序中实现的?
我知道一个用户空间NFS守护程序存在,但这不是提供NFS服务器服务的标准方法。
我认为将NFS服务器作为用户空间应用程序运行将是首选方法,因为它可以通过在用户空间而不是内核中运行守护程序来提供更高的安全性。它也适合做一件事情并做得很好的通用Linux原理(并且守护程序不应成为内核的工作)。
实际上,我能想到的在内核中运行的唯一好处是上下文切换可以提高性能(这是有争议的原因)。
那么,有没有任何成文的理由说明为什么按原样实施?我尝试四处搜寻,但找不到任何东西。
似乎有很多混乱,请注意,我不是在问有关挂载文件系统的问题,我是在问有关提供网络文件系统的服务器端的问题。有一个非常明显的区别。在本地挂载文件系统需要在内核中支持文件系统(如果没有)(例如samba或unfs3)。
unfs3
(这是一个NFS服务器)而无需任何内核支持。