|
|
The lock manager, lockd(1Mnfs), and the status monitor, statd(1Mnfs), are both network-service daemons -- they run at user level, but they are essential to the kernel's ability to provide fundamental network services, and they are therefore run on all network machines. Like other network-service daemons -- which provide, for example, remote login services (rlogind) -- they are best seen as extensions to the kernel, which, for reasons of space, efficiency, and organization, are implemented as daemons. Application programs that need a network service can either call the appropriate daemon directly with RPC/XDR, or use a system call to call the kernel. In this latter case, the kernel will use RPC to call the daemon. The network daemons communicate among themselves with RPC. (See ``The locking protocol'' for details about the lock manager protocol.)
The daemon-based approach to network services allows for tailoring by users who need customized services. It is possible, for example, for users to alter the lock manager to provide locking in a different style.