File Systems and Disk Letters
A disk file
system takes advantages of the ability of disk storage media to
randomly address data in a short amount of time. Additional considerations
include the speed of accessing data following that initially requested and the
anticipation that the following data may also be requested. This permits
multiple users (or processes) access to various data on the disk without regard
to the sequential location of the data. Examples include FAT (FAT12, FAT16, FAT32), exFAT, NTFS, HFS and HFS+, HPFS, UFS, ext2, ext3, ext4,XFS, btrfs, ISO 9660, Files-11, Veritas File System, VMFS, ZFS, ReiserFS and UDF. Some disk file systems are journaling file systems or versioning file systems.
ISO 9660 and Universal Disk Format (UDF) are two
common formats that target Compact Discs, DVDs and Blu-ray discs. Mount Rainier is an
extension to UDF supported by Linux 2.6 series and Windows Vista that
facilitates rewriting to DVDs.
A flash
file system considers the special abilities, performance and
restrictions of flash memory devices.
Frequently a disk file system can use a flash memory device as the underlying
storage media but it is much better to use a file system specifically designed
for a flash device.
A tape file
system is a file system and tape format designed to store files on
tape in a self-describing form. Magnetic tapes are
sequential storage media with significantly longer random data access times
than disks, posing challenges to the creation and efficient management of a
general-purpose file system.
In a disk file
system there is typically a master file directory, and a map of used and free
data regions. Any file additions, changes, or removals require updating the
directory and the used/free maps. Random access to data regions is measured in
milliseconds so this system works well for disks.
Tape requires
linear motion to wind and unwind potentially very long reels of media. This
tape motion may take several seconds to several minutes to move the read/write
head from one end of the tape to the other.
Another concept for
file management is the idea of a database-based file system. Instead of, or in
addition to, hierarchical structured management, files are identified by their
characteristics, like type of file, topic, author, or similar rich metadata.[4]
IBM DB2 for i [5] (formerly
known as DB2/400 and DB2 for i5/OS) is a database file system as part of the
object based IBM i [6] operating
system (formerly known as OS/400 and i5/OS), incorporating a single level store
and running on IBM Power Systems (formerly known as AS/400 and iSeries),
designed by Frank G. Soltis IBM's former chief scientist for IBM i. Around 1978
to 1988 Frank G. Soltis and his team at IBM Rochester have successfully
designed and applied technologies like the database file system where others
like Microsoft later failed to accomplish.[7] These
technologies are informally known as 'Fortress Rochester' and were in few basic
aspects extended from early Mainframe technologies but in many ways more
advanced from a technology perspective.
Some programs need
to update multiple files "all at once". For example, a software
installation may write program binaries, libraries, and configuration files. If
the software installation fails, the program may be unusable. If the
installation is upgrading a key system utility, such as the command shell, the entire system may be left in an
unusable state.
A network
file system is a file system that acts as a client for a remote file
access protocol, providing access to files on a server. Examples of network
file systems include clients for the NFS, AFS, SMB protocols, and file-system-like
clients for FTP and WebDAV.
A shared
disk file system is one in which a number of machines (usually
servers) all have access to the same external disk subsystem (usually a SAN).
The file system arbitrates access to that subsystem, preventing write
collisions. Examples include GFS2 from Red Hat, GPFS from
IBM, SFS from
DataPlow, CXFS from SGI and StorNext from Quantum Corporation.
A special
file system presents non-file elements of an operating system as files
so they can be acted on using file system APIs. This is most commonly done
in Unix-like operating systems, but devices
are given file names in some non-Unix-like operating systems as well.
A device
file system represents I/O devices and pseudo-devices as files,
called device files. Examples in Unix-like systems
include devfs and, in Linux 2.6
systems, udev. In non-Unix-like systems, such as TOPS-10 and other
operating systems influenced by it, where the full filename or pathname of a file can
include a device prefix, devices other than those containing file systems are
referred to by a device prefix specifying the device, without anything
following it.
·
In the Linux kernel, configfs and sysfs provide
files that can be used to query the kernel for information and configure
entities in the kernel.
The late 1970s saw
the development of the microcomputer. Disk and digital
tape devices were too expensive for hobbyists. An inexpensive basic data
storage system was devised that used common audio cassette tape.
When the system needed to
write data, the user was notified to press "RECORD" on the cassette
recorder, then press "RETURN" on the keyboard to notify the system
that the cassette recorder was recording. The system wrote a sound to provide
time synchronization, then modulated sounds that encoded a
prefix, the data, a checksum and a suffix. When the system needed to read data, the user was
instructed to press "PLAY" on the cassette recorder.
No comments:
Post a Comment