---
title: "Importance of DFS; operations of SUNNFS"
subject: "Distributed System"
chapter: 2
key: "semester_7/distributed_system:dfs-importance-sunnfs"
source: https://www.bctengineer.com/q/semester_7/distributed_system/dfs-importance-sunnfs
site: BCT Engineering
---

# Importance of DFS; operations of SUNNFS

Distributed System · Chapter 2: Distributed Objects and File System

- Asked in: 2072 Chaitra, 2+6 marks
- Video: [Distributed File System in Distributed Computing in Hindi](https://www.youtube.com/watch?v=Xhi3hqbiXNM) — Perfect Computer Engineer
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_7/distributed_system/dfs-importance-sunnfs
- Whole chapter: https://www.bctengineer.com/md/semester_7/distributed_system/chapter-2

## Question

Discuss the importance of Distributed File System (DFS). Describe the operations of SUNNFS with its properties.

## Short answer

A DFS provides shared, transparent, scalable file access, with Sun NFS using a VFS layer to redirect requests, NFS client/server over RPC with file handles, mounting, stateless servers, caching, and heterogeneity.

## Answer

#### Importance of a DFS
- **Resource and data sharing:** users on different machines share the same files and storage.
- **Transparency:** one name space; location, access and replication hidden.
- **Cost saving:** centralised storage and backup, diskless workstations.
- **Availability and reliability:** replication of files, no single point of failure.
- **Mobility of users:** the same files seen from any workstation.
- **Scalability:** more servers can be added.
- **Central management:** easy administration, backup and security.

#### Operations and properties of Sun NFS
**SUN NFS** (Network File System) is the most widely used distributed file service, developed by Sun Microsystems. It lets a client access remote files as if they were local, over an RPC based protocol that is independent of the operating system, hardware and network.

**Architecture**

```text
 Client computer                      Server computer
 +----------------------------+       +----------------------------+
 | Application program        |       |                            |
 |------- system calls -------|       |                            |
 | UNIX kernel                |       | UNIX kernel                |
 |  Virtual file system (VFS) |       |  Virtual file system (VFS) |
 |     |               |      |       |      |               |     |
 |  Local UNIX       NFS      |  NFS  |    NFS          Local UNIX |
 |  file system      client <-+-------+->  server      file system |
 |                            | (RPC) |                            |
 +----------------------------+       +----------------------------+
```

- **Virtual file system (VFS):** the layer in the kernel that tells whether a request is for a local file or a remote file and passes it to the UNIX file system or to the NFS client. It uses *v-nodes* (local files) and *file handles* (remote files).
- **NFS client:** translates VFS operations into RPC requests to the server.
- **NFS server:** receives requests, identifies the file by its **file handle** (file system id, i-node number, i-node generation number), and calls the local file system.
- **Mount service:** a client mounts a remote directory into its local tree; the mount info is kept in /etc/exports at the server and in the client's mount table.
- **Automounter:** mounts a remote directory on first use.

**Operation**

1. The application issues a system call (for example read).
2. The VFS finds that the file is remote and calls the NFS client.
3. The NFS client sends an RPC (lookup, read, write, getattr, create, remove, mkdir, readdir...) over UDP/TCP using XDR encoding.
4. The NFS server's VFS finds the local file by the file handle, runs the operation on the local file system and returns the result.
5. The client caches the data (block cache) and attributes. Cache validity is checked by comparing timestamps with the server after a freshness interval (3 to 30 seconds for files, 30 to 60 seconds for directories).

**Features / properties**

- **Access and location transparency** through mounting.
- **Stateless server:** each request carries all information, so a crashed server restarts without recovery work; most operations are idempotent, so retries are safe.
- **Heterogeneity:** works with any OS that implements the protocol.
- **Caching:** read-ahead and delayed write for performance, with approximate (not strict one-copy) consistency.
- **Security:** the original version trusted the user id sent in the RPC; later versions use Kerberos.
- **Limited replication and migration support.**

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Which is a key importance of a DFS?
   A. It forces every file onto each client's local disk
   B. It removes the need for any file servers
   C. It makes files unreadable from other workstations
   D. Users on different machines share the same files with location transparency
   Answer: D. A DFS gives resource sharing, one name space, mobility, central management and availability. (Key point: DFS importance)

2. What does the Virtual File System layer in NFS do?
   A. Encodes data in XDR for the network
   B. Stores files on the server disk
   C. Decides whether a request is for a local or remote file and passes it to the UNIX FS or NFS client
   D. Authenticates users with Kerberos
   Answer: C. VFS distinguishes local files (v-nodes) from remote files (file handles). (Key point: VFS)

3. How does the NFS server identify a file?
   A. By the client's IP address only
   B. By a file handle made of file system id, i-node number and i-node generation number
   C. By the user's password
   D. By the file's name string only
   Answer: B. The file handle uniquely identifies the file at the server and is used in every request. (Key point: File handle)

4. Why is the NFS server stateless an advantage?
   A. Each request carries all needed information, so a crashed server restarts without recovery work
   B. It avoids the need for RPC
   C. It keeps a table of open files for fast reads
   D. It guarantees strict one-copy consistency
   Answer: A. Statelessness with idempotent operations makes crash recovery simple. (Key point: Stateless server)

## Related in Distributed System

- [Operations of a modern DFS](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Adfs-modern-operations) — Distributed System, chapter 2
- [DFS requirements and file service architecture](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Adfs-requirements-architecture) — Distributed System, chapter 2
- [DFS architecture and storage sharing](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Adfs-architecture-sharing) — Distributed System, chapter 2, asked 4×
- [Requirements of a DFS](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Adfs-requirements) — Distributed System, chapter 2
- [Autonomous vs distributed system](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Aautonomous-vs-distributed) — Distributed System, chapter 1
- [Models of distributed system](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Amodels-of-ds) — Distributed System, chapter 1

## Related in other subjects

- [File I/O operations, errors, random access](https://www.bctengineer.com/question.md?key=semester_1%2Fcomputer_programming%3Afile-io-errors-random-access) — Computer Programming, chapter 10
- [Google File System architecture](https://www.bctengineer.com/question.md?key=semester_8%2Fbig_data_technologies%3Agfs-architecture) — Big Data Technologies, chapter 2, asked 2×
- [File system layout, i-node, backup](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Afs-layout-inode-backup) — Operating System, chapter 5
- [File system layout; i-node vs linked list](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Afs-layout-inode-vs-linked-list) — Operating System, chapter 5
