The document discusses distributed file systems (DFS), which allow files to be shared across multiple computers. DFS aims to provide a common view of a centralized file system while using a distributed implementation. This allows files to be accessed and updated from any machine on the network. The document outlines some key requirements for DFS, including transparency so users are unaware of files being distributed, concurrency controls to handle simultaneous updates, replication for fault tolerance and load balancing, and security and performance comparable to a local file system. It also provides examples of DFS like NFS, AFS, and those used in Windows.
In this document
Powered by AI
Introduction to Distributed File Systems, covering architecture and an overview of Sun NFS.
Characteristics and functionalities of Distributed File Systems including multi-computer sharing.
Characteristics of file systems focusing on programming interfaces, file attributes, and file operations.
Essential requirements like transparency, concurrent updates, replication, and fault tolerance for DFS.
End of the presentation, concluding remarks on the discussed topics.
DISTRIBUTED FILE SYSTEMS
• Including
1.Introduction
2.File Service Architecture
3.Case Study: Sun NFS
3.
1. Introduction
•File system: support convenient programming
interface to disk storage, access control and
file looking mechanism.
4.
Distributed Files Systems(DFS)
• Allows multi-computer systems to share files &
Sharing devices
• E.g.,
– NFS (Sun’s Network File System)
– Windows NT, 2000
– Andrew File System (AFS)
Distributed File Systems CS-4513, D-Term 2007 4
5.
Distributed File Systems(continued)
• One of most common uses of distributed file
system is 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
Distributed File Systems CS-4513, D-Term 2007 5
1. Characteristics offile system
• File system: support convenient programming
interface to disk storage, access control and
file looking mechanism.
Files contain both data and attributes.
A typical attribute record structure is
illustrated in Figure 3.
8.
8
Introduction
Filelength
Creation timestamp
Read timestamp
Write timestamp
Attribute timestamp
Reference count
Owner
File type
Access control list
Figure 3. File attribute record structure
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
9.
• Figure 4summarizes the main operations
on files that are available to applications in
UNIX systems.
10.
10
Introduction
Figure4. UNIX file system operations
filedes = open(name, mode)
filedes = creat(name, mode)
Opens an existing file with the given name.
Creates a new file with the given name.
Both operations deliver a file descriptor referencing the open
file. The mode is read, write or both.
status = close(filedes) Closes the open file filedes.
count = read(filedes, buffer, n)
count = write(filedes, buffer, n)
Transfers n bytes from the file referenced by filedes to buffer .
Transfers n bytes to the file referenced by filedes from buffer.
Both operations deliver the number of bytes actually transferred
and advance the read-write pointer.
pos = lseek(filedes, offset,
whence)
Moves the read-write pointer to offset (relative or absolute,
depending on whence).
status = unlink(name) Removes the file name from the directory structure. If the file
has no other names, it is deleted.
status = link(name1, name2) Adds a new name (name2) for a file (name1) .
status = stat(name, buffer) Gets the file attributes for file name into buffer.
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
11.
11
2. DistributedFile system requirements
Related requirements in distributed file systems
are:
1. Transparency
2. Concurrent file updates
3. File Replication
4. Hardware & Operating system Heterogeneity
5. Fault tolerance
6. Consistency
7. Security
8. Efficiency
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
12.
1. Transparency
•Transparency defined as the concealment
from the user and application programmer of
the separation of components in a distributed
system.
• Client programs should be unaware of the
distribution of files.