Sun Network File System Presentation 3 Group A4 Sean Hudson, Syeda Taib, Manasi Kapadia
Problem How can physically distributed computers share a file system?
Solution Sun’s Network File System (NFS)
Background Developed by Sun. The NFS specification is platform independent: –Portable –Operates in a heterogeneous environment.
Fundamentals NFS was developed to allow a machine to mount a disk partition on a remote machine as if it were local. This allows for fast, seamless sharing of file across network. There is no global naming hierarchy. NFS allows any machine to be client or server.
NFS Protocols Mount Protocol File Access Protocol Their functionality is defined as a set of Remote Procedure Calls (RPC).
Mount Protocol usr Server OpenLocal home Client Dir1Dir2 MountRequest
Mount Protocol (cont.) After mount request, server returns a file handle (a key for further access). Mount operation changes only the user’s view.
NFS Protocol Client RPC Calls Search Read/Write Manipulate links/directories Server
Implementation Three major layers of NFS architecture: System Call layer: –This handles calls like OPEN, READ, and CLOSE. Virtual File System (VFS) layer: –distinguishes local files from remote ones. NFS service layer: –implements the RPC calls.
Schematic view of NFS System call layer Virtual file system layer Local OSNFS client Message to server Local disk Message from client Local disk Virtual file system layer Local OSNFS server ClientServer
Pathname Translation This is done by breaking the path into component names and performing a separate NFS lookup for every pair of component name and directory v-node. Lookups are performed remotely by the server.
Performance Clients cache file attributes (i-nodes) and file data. Cached data blocks and directories are discarded periodically. When a cached file is open, the time it was last modified is checked at the server. If necessary, a new copy is brought from the server.
Performance (cont.) Servers keep a cache to reduce disk I/O. Read-ahead caching Write-behind caching –Periodically, modified cache blocks are written back to servers.
Issues Synchronization of file accesses are not well-defined. Widely criticized for not implementing the UNIX semantics.
Conclusion NFS is a simple, popular and widely used file system !
References Casvant, Thomas and Singhal, Mukesh. Distributed Computing Systems. IEEE Press. Mullender, Sape. Distributed Systems. ACM Press. Pradeep, Sinha K. Distributed Operating Systems. IEEE Computer Society Press. Stallings, William. Operating Systems. Tanenbaum, Andrew. Distributed Operating Systems.