Je me demandais simplement pourquoi le serveur NFS Linux est implémenté dans le noyau par opposition à une application en espace utilisateur?
Je connais un démon NFS en espace utilisateur , mais ce n'est pas la méthode standard pour fournir des services de serveur NFS.
Je penserais que l’exécution du serveur NFS en tant qu’application d’espace utilisateur serait l’approche privilégiée, car elle peut offrir une sécurité supplémentaire grâce à un démon exécuté dans l’espace utilisateur au lieu du noyau. Cela correspondrait aussi au principe commun de Linux de faire une chose et de bien le faire (et que les démons ne devraient pas être un travail pour le noyau).
En fait, le seul avantage que je peux penser à utiliser dans le noyau serait une amélioration des performances grâce au changement de contexte (et c'est une raison discutable).
Donc, y a-t-il une raison documentée pour laquelle il est mis en œuvre tel quel? J'ai essayé de chercher sur Google, mais je n'ai rien trouvé.
Il semble y avoir beaucoup de confusion. Notez que je ne pose pas de question sur le montage de systèmes de fichiers, mais sur la fourniture du côté serveur d’un système de fichiers réseau . Il y a une différence très nette. Monter un système de fichiers localement nécessite la prise en charge du système de fichiers dans le noyau, à condition que ce ne soit pas le cas (par exemple, Samba ou unfs3).
unfs3
(ce qui est un serveur NFS) sans aucune prise en charge par le noyau.