2. Introduction
File – collection of data with user view(structure) and a physical
view (blocks)
DFS – distributed storage and users – provides transparency of
location, access and migration of files – uses replicas for efficiency
and fault tolerance
Enables programs to store and access remote files as local ones
Two types
Andrew File system (AFS)
Sun Network File system (NFS)
File systems are abstractions that enables users to read, manipulate
and organize dat. Data is stored in units known as files in a
hierarchical tree – nodes are directories
3. Enables uniform view – independent of underlying storage devices
(floppy to hard drives and flash memory cards)
Goals:
Network transparency – access rremote files
High availability – easy to access files irrespective of their physical
location
4. Characteristics
Organization, storage, retrieval, naming sharing and protection of
files
File – Data + attributes (length, timestamp, file type)
Directory – provides mapping from names to internal file identifier
Modules
Directory module – File names to File IDS
File module – File IDS to particular files
Access control module – checks permission for file operation
Block module – Access and allocates disk blocks
Device module – Disk IO and buffering
5.
6. Requirements
1. Transparency
Structure
Access
Naming
Replication
2. User mobility
3. Performance
4. Scalability
5. High Availability
6. High reliability
7. Security
7. File Service Architecture
Clear separation of main concerns providing access to files is
obtained by structuring the file service as three components – Flat
file service, directory file service, client module
8. Flat file service
Implementation of operations on the content of the file
UFID – Unique File Identifier – refer to files in all requests for flat
file operations
UFID – long sequence of bits chosen
Create file – new UFID will be generated and returns UFID
9. Directory service
Mapping between text names for the files and their UFIDs
Get UFID by quoting the text name to directory service
It supports functions needed to generate directories, add files to
directories
10. Client module
Runs on each computer and provides integrated service as a
single API to application programs.
Holds information about the network locations of flat file,
directory server processes
Achieves better performance through implementation of cache of
recently used file blocks
11. Flat file service operations
Read (fileId, I, n) -> data
Write (fileId, I, data)
Create() -> fileId
Delete (field)
GetAttributes(FileId) -> attr
SetAttributes(FileId, attr)