Information Technology Reference
In-Depth Information
Implementing files and directories. Chapter 13 describes how file
systems keep track of data by describing several widely-used approaches
to implementing files and directories.
Reliable storage. Although we would like storage to be perfectly reli-
able, physical devices fall short of that ideal. Chapter 14 describes how
storage systems use transactional updates and redundancy to improve re-
liability.
11.1
The file system abstraction
Today, almost anyone who uses a computer is familiar with the high-level file
system abstraction. File systems provide a way for users to organize their
data and to store it for long periods of time. For example, Bob's computer
might store a collection of applications such as /Applications/Calculator
and /ProgramFiles/TextEdit and a collection of data files such as /home/Bob/
correspondence/letter-to-mom.txt , and /home/Bob/Classes/OS/hw1.txt .
More precisely, a file system is an operating system abstraction that provides
Denition: file system
persistent, named data. Persistent data is stored until it is explicitly deleted,
Denition: persistent data
even if the computer storing it crashes or loses power.
Named data can be
Denition: named data
accessed via a human-readable identifier that the file system associates with the
file. Having a name allows a file to be accessed even after the program that
created it has exited, and allows it to be shared by multiple applications.
There are two key parts to the file system abstraction: files, which define
sets of data, and directories, which define names for files.
File.
A file is a named collection of data in a file system.
For example,
Denition: file
the programs /Applications/Calculator or /ProgramFiles/TextEdit are
each files, as are the data /home/Bob/correspondence/letter-to-mom.txt
or /home/Bob/Classes/OS/hw1.txt .
Files provide a higher-level abstraction than the underlying storage device:
they let a single, meaningful name refer to an (almost) arbitrarily-sized amount
of data. For example /home/Bob/Classes/OS/hw1.txt might be stored on disk
in blocks 0x0A713F28, 0xB3CA349A, and 0x33A229B8, but it is much more
convenient to refer to the data by its name than by this list of disk addresses.
A le's information has two parts, metadata and data.
A le's metadata
Denition: file metadata
is information about the file that is understood and managed by the operating
system. For example, a le's metadata typically includes the le's size, its
modification time, its owner, and its security information such as whether it
may be read, written, or executed by the owner or by other users.
A le's data can be whatever information a user or application puts in it.
Denition: file data
Search WWH ::




Custom Search