NFS is similar to other RPC-based services in its use of server-side daemons to
process incoming requests. NFS may also use multiple copies of some daemons to
improve overall performance and efficiency.
RPC Binder Daemon (RPCD)
This daemon is analogous to the port mapper daemon, which many
implementations of NFS use in UNIX. Clients determine the port of a specified RPC
service by using the RPC Binder Daemon. Local services register themselves with
the local RPC binder daemon (port mapper) when initializing. On AS/400, you can
register your own RPC programs with the RPC binder daemon.
NFS Server Daemons (NFSD)
The most pressing need for NFS server daemons centers around the need for
multi-threading NFS RPC requests. Running daemons in user-level processes
allows the server to have multiple, independent threads of processes. In this way,
the server can handle several NFS requests at once. As a daemon completes the
processing of a request, the daemon returns to the end of a line of daemons that
wait for new requests. Using this schedule design, a server always has the ability to
accept new requests if at least one server daemon is waiting in the queue. Multiple
instances of this daemon can perform tasks simultaneously.
Mount Daemon (MNTD)
Each NFS server system runs a mount daemon which listens to requests from
client systems. This daemon acts on mount and unmount requests from clients. If
the mount daemon receives a client mount request, then the daemon checks the
export table. The mount daemon compares it with the mount request to see if the
client is allowed to perform the mount. If the mount is allowed, the mount daemon
will send to the requesting client an opaque data structure, the file handle. This
structure uniquely describes the mounting point that is requested by the client. This
will enable the client to represent the root of the mounted file system when making
future requests.
Figure 9. The NFS Server
10 OS/400 Network File System Support V4R4
|
|
|
|
|