0% found this document useful (0 votes)
31 views43 pages

Distributed File System

This document discusses distributed file systems. It begins by describing file system structures like directories and allocation methods. It then discusses distributed file systems and their goal of providing a common view of files across a network. Two examples of distributed file systems are described in detail: NFS and AFS. NFS allows remote directories to be mounted locally and uses RPCs to enable remote file access. AFS uses extensive client caching and a global namespace to improve performance across wide-area networks. Both systems aim to provide location transparency and independence for shared files.

Uploaded by

Atif Saeed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views43 pages

Distributed File System

This document discusses distributed file systems. It begins by describing file system structures like directories and allocation methods. It then discusses distributed file systems and their goal of providing a common view of files across a network. Two examples of distributed file systems are described in detail: NFS and AFS. NFS allows remote directories to be mounted locally and uses RPCs to enable remote file access. AFS uses extensive client caching and a global namespace to improve performance across wide-area networks. Both systems aim to provide location transparency and independence for shared files.

Uploaded by

Atif Saeed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 43

1DT057 

DISTRIBUTED INFORMATION SYSTEM

DISTRIBUTED FILE SYSTEM

1
 CHAPTER 8: DISTRIBUTED FILE 
SYSTEM
 Introduction to File System
 File­System Structure
 Directory Implementation
 Allocation Methods

 Distributed File System
 Example: Sun NFS

 Example: AFS

2
FILE­SYSTEM STRUCTURE
 File structure
 Logical storage unit
 Collection of related information

 File system resides on secondary storage (disks)
 File system organized into layers

 File control block – storage structure 
consisting of information about a file

3
LAYERED FILE SYSTEM

4
A TYPICAL FILE CONTROL BLOCK

5
VIRTUAL FILE SYSTEMS

 Virtual File Systems (VFS) provide an object­
oriented way of implementing file systems.

 VFS allows the same system call interface (the 
API) to be used for different types of file systems.

 The API is to the VFS interface, rather than any 
specific type of file system.

6
SCHEMATIC VIEW OF VIRTUAL FILE 
SYSTEM

7
DIRECTORY IMPLEMENTATION
 Linear list of file names with pointer to the data 
blocks.
 simple to program
 time­consuming to execute

 Hash Table – linear list with hash data 
structure.
 decreases directory search time
 collisions – situations where two file names hash to 
the same location
 fixed size
8
ALLOCATION METHODS
 An allocation method refers to how disk blocks 
are allocated for files:

 Contiguous allocation

 Linked allocation

 Indexed allocation

9
CONTIGUOUS ALLOCATION
 Each file occupies a set of contiguous 
blocks on the disk

 Simple – only starting location (block #) 
and length (number of blocks) are required

 Wasteful of space (dynamic storage­
allocation problem)

 Files cannot grow

10
CONTIGUOUS ALLOCATION OF DISK 
SPACE

11
LINKED ALLOCATION
 Each file is a linked list of disk blocks: blocks may be 
scattered anywhere on the disk.

block = pointer

13
LINKED ALLOCATION

14
FILE­ALLOCATION TABLE

15
INDEXED ALLOCATION
 Brings all pointers together into the index block.
 Logical view.

index table

16
EXAMPLE OF INDEXED 
ALLOCATION

17
INDEXED ALLOCATION – MAPPING 
(CONT.)

outer-index

index table file 18


COMBINED SCHEME:  UNIX (4K BYTES PER 
BLOCK)

19
LINKED FREE SPACE LIST ON DISK

20
DISTRIBUTED FILE SYSTEM
21
DISTRIBUTED FILE SYSTEMS
 A special case of distributed system

 Allows multi­computer systems to share 
files
 Examples:
 NFS (Sun’s Network File System)
 Windows NT, 2000, XP
 Andrew File System (AFS) & others …

22
DISTRIBUTED FILE SYSTEMS 
(CONTINUED)
 One of most common uses of distributed 
computing

 Goal: provide  common view of centralized file 
system, but distributed implementation.
 Ability to open & update any file on any machine on 
network
 All of synchronization issues and capabilities of 
shared local files

23
NAMING OF DISTRIBUTED FILES
 Naming – mapping between logical and physical 
objects.
 A transparent DFS hides the location where in 
the network the file is stored.

 Location transparency –  file name does not 
reveal the file’s physical storage location.

 Location independence – file name does not 
need to be changed when the file’s physical 
storage location changes. 

24
DFS – THREE NAMING SCHEMES
1. Mount remote directories to local directories, 
giving the appearance of a coherent local 
directory tree

2. Files named by combination of host name and 

3. Total integration of component file systems.
• A single global name structure spans all the files in 
the system.

25
NFS: SUN NETWORK FILE SYSTEM

26
THE SUN NETWORK FILE SYSTEM 
(NFS)
 An implementation and a specification of a 
software system for accessing remote files across 
LANs (or WANs)

 The implementation is part of the Solaris and 
SunOS operating systems running on Sun 
workstations 

 Using an unreliable datagram protocol (UDP/IP 
protocol and Ethernet)
27
NFS (CONT.)
 Interconnected workstations viewed as a set of 
independent machines with independent file 
systems

 Sharing among these file systems in a transparent 
manner

 A remote directory is mounted over a local file system 
directory

28
NFS (CONT.)
 NFS is designed to operate in a heterogeneous 
environment of different machines, operating 
systems, and network architectures

 External Data Representation (XDR) protocol

29
THREE INDEPENDENT FILE 
SYSTEMS

30
MOUNTING IN NFS 

Mounts Cascading mounts


31
NFS PROTOCOL
 Provides a set of remote procedure calls for 
remote file operations.  
 Support the following operations:
 searching for a file within a directory 
 reading a set of directory entries 
 manipulating links and directories 
 accessing file attributes
 reading and writing files

33
NFS PROTOCOL
 NFS servers are stateless; each request has to 
provide a full set of arguments
(NFS V4 is just coming available – very different, 
stateful)
 Modified data must be committed to the server’s 
disk before results are returned to the client (lose 
advantages of caching)
 The NFS protocol does not provide concurrency­
control mechanisms

34
THREE MAJOR LAYERS OF NFS 
ARCHITECTURE 

 UNIX file­system interface (based on the open, 
read, write, and close calls, and file 
descriptors)

 Virtual File System (VFS) layer 
 Distinguishes local files from remote ones

 NFS service layer
 Implements the NFS protocol

35
SCHEMATIC VIEW OF NFS 
ARCHITECTURE 

36
NFS PATH­NAME TRANSLATION
 Performed by breaking the path into component 
names and performing a separate NFS lookup 
call for every pair of component name and 
directory vnode

 To make lookup faster, a directory name lookup 
cache on the client’s side holds the vnodes for 
remote directory names

37
NFS REMOTE OPERATIONS
 File­blocks cache – when a file is opened, the 
kernel checks with the remote server whether to 
fetch or revalidate the cached attributes
 Cached file blocks are used only if the corresponding 
cached attributes are up to date
 File­attribute cache – the attribute cache is 
updated whenever new attributes arrive from the 
server
 Clients do not free delayed­write blocks until the 
server confirms that the data have been written 
to disk
38
AFS: THE ANDRE FILE SYSTEM

39
ANDREW FILE SYSTEM (AFS)
 Completely different kind of file system

 Developed at CMU to support all student 
computing.

 Consists of workstation clients and dedicated file 
server machines.

40
ANDREW FILE SYSTEM (AFS)
 Stateful

 Single name space
 File has the same names everywhere in the 
world.
 Lots of local file caching
 On workstation disks
 For long periods of time
 Originally whole files, now 64K file chunks.
 Good for distant operation because of local 
disk caching 41
AFS
 Need for scaling led to reduction of client­
server message traffic.
 Once a file is cached, all operations are performed 
locally.
 On close, if the file is modified, it is replaced on the 
server.
 The client assumes that its cache is up to 
date! 
 Server knows about all cached copies of file
 Callback messages from the server saying 
otherwise.  
…
42
AFS
 On file open()
 If client has received a callback for file, it must fetch 
new copy
 Otherwise it uses its locally­cached copy.
 Server crashes
 Transparent to client if file is locally cached
 Server must contact clients to find state of files

43
DISTRIBUTED FILE SYSTEMS 
REQUIREMENTS
 Performance is always an issue 
 Tradeoff between performance and the 
semantics of file operations (especially for 
shared files).
 Caching of file blocks is crucial in any file 
system, distributed or otherwise.  
 As memories get larger, most read requests 
can be serviced out of file buffer cache (local 
memory).
 Maintaining coherency of those caches is a 
crucial design issue.
 Current research addressing disconnected 
file operation for mobile computers. 44
SUMMERY
 Introduction to file system
 Characteristics of distributed file system

 Case study: Sun Network File System

 Case study: The Andrew File system

 Read chapter 8 [Coulouris et al.] after the 
lecture…

45

You might also like