200 likes | 433 Views
File Access and Transfer. Issues. Access and transfer are different operations with different requirements Transfer move the file from one place to another binary or text recovery from interruption move whole file Access remove awareness of file location
E N D
Issues • Access and transfer are different operations • with different requirements • Transfer • move the file from one place to another • binary or text • recovery from interruption • move whole file • Access • remove awareness of file location • treat remote files as if they were local • hide differences of file organization, characteristics • manage issues of simultaneous access • handle file integrity issues
File System Characteristics • Structure • refers to the logical and physical organization of data in the file • Attributes • are descriptive terms, provide information such as creation time, size, owner, etc. • Operations • are functions that may be applied to a file and/or its attributes • create, delete, read, write, change access rights, etc.
A taxonomy of file system issues Adapted from “Distributed File Systems” M. Satyanarayanan 1989 Multiple users, multiple sites, multiple processes Multiple users, one site, multiple processes One user, one site, multiple processes One user, one site, one process Naming, Physical storage, Programming interface, Integrity Concurrency control, Serializability, Deadlocks Security Location
One user, one site, one process Taxonomy -1 Naming, Physical storage, Programming interface, Integrity • Naming • Is the name space flat or hierarchical? Tree structured? Cycles allowed? How long can the file names be? Are there file extensions or naming conventions that have semantic significance? • Programming interface • How do applications access the file system? Is there support for atomic actions?
One user, one site, one process Taxonomy - 2 Naming, Physical storage, Programming interface, Integrity • Physical storage • How is the file system abstraction mapped onto physical storage media? Is the programming interface independent of the storage media? How are the conflicting pulls between large blocks for performance benefits balanced with small blocks to reduce fragmentation? • Integrity • How are power, hardware, media, and software failures dealt with?
One user, one site, multiple processes Taxonomy - 3 Concurrency control, Serializability, Deadlocks • Concurrency control • synchronization policies: what granularity (entire file, bytes, blocks?) What locking modes? What combinations of locks can co-exist? • Serializability • An execution instance of interleaved transactions is serializable if there is some sequential execution order that yields the same results. How is serializability realized in this file system? • Deadlocks • How are deadlocks detected or avoided in this system?
Taxonomy -4 Multiple users, one site, multiple processes • Security • How are users identified and authenticated? Can groups share access to files? What privileges can be granted? How do those privileges map to file operations? Can the privileges be revoked? Security
Taxonomy -5 Multiple users, multiple sites, multiple processes • Location • embedded in file names (as in full path)? Then moving a file also changes its name. Users may have problems finding their files. Location transparency hides the actual location of the file. • Also involves availability and replication issues Location
File Transfer • Character or image • ASCII is 7-bit code; bit 8 used for parity check • if bit 8 is part of the data, transfer will not work • block size: sender and receiver need to agree • error detection: sender and receiver must agree • error correction: most common is retransmission • dialog control: two-way or one-way by turns • flow control: match sender rate to receiver capability; communication needed
FTP • File Transfer Protocol • workhorse of file movement • whole file transfer, not general file access • two versions: 2-system, 3-system • uses telnet to do login to the remote system • anonymous ftp widely used for public distribution of files
Two-system FTP interaction PI = Protocol Interpreter DTP = Data Transfer Protocol
Unstructured file in the general hierarchical file structure
File Access, not just transfer • FTAM (File Transfer, Access, and Management) • Other versions created for specific applications • FTAM defines regimes to capture various kinds of interaction • association, file selection, file open, data transfer regimes • enter and exit regimes according to operations needed
Summarizing • Network-based application development requires access to files at remote locations • file transfer brings the remote file to where it is needed. Operations are done on the local copy. • General file access is more involved. Taxonomy of issues includes security, deadlock, integrity, interface differences, etc. • General model of file interaction removes the details of individual file systems • FTP is most common for moving files • More is needed for general file access