---
title: "DFS architecture and storage sharing"
subject: "Distributed System"
chapter: 2
key: "semester_7/distributed_system:dfs-architecture-sharing"
source: https://www.bctengineer.com/q/semester_7/distributed_system/dfs-architecture-sharing
site: BCT Engineering
---

# DFS architecture and storage sharing

Distributed System · Chapter 2: Distributed Objects and File System

- Asked in: 2072 Kartik, 8 marks; 2070 Chaitra, 6+2 marks; 2070 Asar, 2+6 marks; Model question (asked 4 times)
- Video: [INTRODUCTION TO DISTRIBUTED FILE SYSTEM (DFS)](https://www.youtube.com/watch?v=hkgpkQZI1oU) — Taha Mohamed
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_7/distributed_system/dfs-architecture-sharing
- Whole chapter: https://www.bctengineer.com/md/semester_7/distributed_system/chapter-2

## Question

Define distributed file system (DFS). How does DFS encourage sharing of a storage device? Explain with the help of a suitable distributed file service architecture.

## Short answer

A DFS stores files on servers and lets clients access them over a network as if local, using a common namespace and location transparency so storage is shared. Its architecture has a flat file service that manages files by UFID, a directory service mapping names to UFIDs, and a client module providing the API and caching.

## Answer

#### Distributed file system (DFS)
A **distributed file system** is a file system whose files are stored on one or more servers and which lets clients on other computers access them over a network as though they were stored locally. It supports sharing under a common name space, with proper security and consistency.

#### How DFS encourages sharing of storage
- Files are stored on **servers**, and any authorised client can read or write them through the same interface, so storage devices (disks) are shared instead of every user needing a private disk.
- The common name space and **location transparency** let users use the same path from any workstation.
- Users share data (documents, programs) with each other, and one copy is kept for many users, reducing cost and duplication.
- Expensive large disks and backups are centralised in the servers and are used by cheap diskless workstations.
- Access control lists and concurrency control permit safe shared updates.

#### Distributed file service architecture
The model of Coulouris divides the service into three modules.

```text
 Client computer          |   Server computer
 +-------------------+    |  +----------------------+
 | Application       |    |  | Directory service    |
 | programs          |    |  |  (name -> UFID)      |
 +---------+---------+    |  +----------+-----------+
           |              |             |
 +---------v---------+  RPC/messages +---v-----------+
 | Client module     |<------------->| Flat file     |
 | (API, cache)      |    |          | service       |
 +-------------------+    |          +---------------+
```

- **Flat file service:** works on file contents. Files are identified by a unique file identifier (UFID). Operations: Read, Write, Create, Delete, GetAttributes, SetAttributes. All operations except Create are repeatable (idempotent), and the server keeps no client state (stateless).
- **Directory service:** maps text names to UFIDs. Operations: Lookup, AddName, UnName, GetNames. Directories are themselves files stored by the flat file service.
- **Client module:** runs in each client computer, gives applications one API, hides the location of servers, and holds the cache and the addresses of the servers.

## Check yourself

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

1. What does a distributed file system allow?
   A. Clients on different computers to access files stored on servers as though they were local
   B. Only the server to read files
   C. Files to exist only on one disk with no network
   D. Clients to access only their own private disks
   Answer: A. A DFS gives a shared, common name space over networked servers. (Key point: DFS definition)

2. How does a DFS encourage sharing of storage?
   A. Each user needs a private disk
   B. Files on servers are accessed by any authorised client through the same interface, so one copy serves many users
   C. Files are copied to every workstation
   D. Access is allowed without authorisation
   Answer: B. Central servers share disks and avoid duplication. (Key point: Sharing storage)

3. What is the role of the flat file service?
   A. Mapping text names to UFIDs
   B. Holding the client cache
   C. Operating on file contents, with files identified by UFIDs
   D. Providing user authentication only
   Answer: C. The flat file service handles Read, Write, Create, Delete etc. using unique file identifiers. (Key point: Flat file service)

4. What does the directory service do?
   A. Maps text names to UFIDs
   B. Reads and writes file data
   C. Caches data on the client
   D. Encrypts files
   Answer: A. Directory operations are Lookup, AddName, UnName, GetNames; directories are themselves files. (Key point: Directory service)

## Related in Distributed System

- [DFS requirements and file service architecture](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Adfs-requirements-architecture) — Distributed System, chapter 2
- [Importance of DFS; operations of SUNNFS](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Adfs-importance-sunnfs) — Distributed System, chapter 2
- [Requirements of a DFS](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Adfs-requirements) — Distributed System, chapter 2

## Related in other subjects

- [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×
- [Distributed object versus multiprocessor architecture](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Adistributed-object-vs-multiprocessor) — Software Engineering, chapter 3
- [Client-server versus distributed object architecture](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Aclient-server-vs-distributed-object) — Software Engineering, chapter 3
- [File system layout; free block management](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Afs-layout-free-blocks) — Operating System, chapter 5
