Me preguntaba por qué el servidor NFS de Linux se implementa en el kernel en lugar de una aplicación de espacio de usuario.
Sé que existe un demonio NFS de espacio de usuario , pero no es el método estándar para proporcionar servicios de servidor NFS.
Pensaría que ejecutar el servidor NFS como una aplicación de espacio de usuario sería el enfoque preferido ya que puede proporcionar seguridad adicional al ejecutar un demonio en el espacio de usuario en lugar del núcleo. También encajaría con el principio común de Linux de hacer una cosa y hacerlo bien (y que los demonios no deberían ser un trabajo para el núcleo).
De hecho, el único beneficio que puedo pensar en ejecutar en el kernel sería un aumento del rendimiento por el cambio de contexto (y esa es una razón discutible).
Entonces, ¿hay alguna razón documentada por la que se implementa de la manera en que está? Intenté buscar en Google pero no pude encontrar nada.
Parece haber mucha confusión, tenga en cuenta que no estoy preguntando sobre el montaje de sistemas de archivos, sino sobre proporcionar el lado del servidor de un sistema de archivos de red . Hay una diferencia muy distinta. Montar un sistema de archivos localmente requiere soporte para el sistema de archivos en el núcleo, siempre que no lo haga (por ejemplo, samba o unfs3).
unfs3
(que es un servidor NFS) sin ningún soporte de kernel para ello.