Ich habe mich nur gefragt, warum der Linux-NFS-Server im Kernel im Gegensatz zu einer Userspace-Anwendung implementiert ist.
Ich weiß, dass ein Userspace-NFS-Dämon vorhanden ist, aber dies ist nicht die Standardmethode für die Bereitstellung von NFS-Serverdiensten.
Ich würde denken, dass das Ausführen von NFS-Server als Userspace-Anwendung der bevorzugte Ansatz ist, da es zusätzliche Sicherheit bietet, wenn ein Dämon im Userspace anstelle des Kernels ausgeführt wird. Es würde auch mit dem allgemeinen Linux-Prinzip zusammenpassen, eine Sache zu tun und es gut zu machen (und dass Daemons keine Aufgabe für den Kernel sein sollten).
Der einzige Vorteil, den ich mir vorstellen kann, im Kernel zu laufen, wäre eine Leistungssteigerung durch Kontextwechsel (und das ist ein fraglicher Grund).
Gibt es einen dokumentierten Grund, warum es so implementiert wird, wie es ist? Ich habe versucht, herum zu googeln, konnte aber nichts finden.
Es scheint sehr verwirrend zu sein, bitte beachten Sie, dass ich nicht nach dem Mounten von Dateisystemen frage, sondern nach der Bereitstellung der Serverseite eines Netzwerk-Dateisystems . Es gibt einen sehr deutlichen Unterschied. Das lokale Mounten eines Dateisystems erfordert die Unterstützung des Dateisystems im Kernel, sofern dies nicht der Fall ist (z. B. Samba oder Unfs3).
unfs3
einen NFS-Server ausführen, ohne dass der Kernel dies unterstützt.