260 likes | 624 Views
Sun Network File System. Presentation 3 Group A4 Sean Hudson, Syeda Taib, Manasi Kapadia. Problem. How can physically distributed computers share a file system?. Sun’s Network File System (NFS). Solution. Background. Developed by Sun. The NFS specification is platform independent:
E N D
Sun Network File System Presentation 3 Group A4 Sean Hudson, Syeda Taib, Manasi Kapadia
Problem How can physically distributed computers share a file system?
Sun’s Network File System (NFS) Solution
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).
Client Server home usr Request Dir1 Dir2 Open Local Mount Mount Protocol
Mount Protocol (cont.) • After mount request, server returns a file handle (a key for further access). • Mount operation changes only the user’s view.
Client Server RPC Calls • Search • Read/Write • Manipulate links/directories NFS Protocol
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.
Client Server System call layer Virtual file system layer Virtual file system layer Local OS NFS client NFS server Local OS Local disk Message to server Message from client Local disk Schematic view of NFS
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.