COHERENT manpages
This page displays the COHERENT manpage for file [The way to access bits].
List of available manpages
Index
file -- Definition
The way to access bits
The term file is used throughout the world of computing. Because there are
several distinct types of COHERENT ``files,'' understanding what COHERENT
means by a ``file'' can help you grasp how COHERENT works.
A file is a mass of bits that is given a name and is stored on some
physical medium (e.g., floppy disk, hard disk, RAM disk, or CD-ROM). These
bits may represent data (e.g., ASCII or EBCDIC characters) or machine-
executable instructions. COHERENT defines a number of different types of
files. A file's type defines its behavior. Some common file types include
the following:
regular
This file points to a location on a disk, which can be read or
written. The location pointed to can contain data (e.g., text) or
executable instructions in the form of shell commands or binary
instructions. Regular files are sometimes called ordinary files.
directory
A directory holds the names and addresses of other files, including
other directories.
special
Special files designate COHERENT devices. A device can represent a
physical device, such as a floppy disk drive, a printer port, or a
serial port. It can also represent a part of a physical device, such
as a RAM disk (representing part of memory) or one partition of a hard
disk. It can also represent a logical device that has no physical
counterpart, like the bit bucket /dev/null.
Special files come in two flavors: character special and block
special. The former access data in streams (that is, one character at
a time), and so access devices like tape drives and serial ports. The
latter access one block at a time, and so access disk drives and other
devices that return their data in block-sized chunks. (COHERENT
defines a block as being 512 characters.)
FIFO This is a variety of regular file that contains semantics to hook
together two processes, just like a pipe `|' in the COHERENT shell.
See the Lexicon article named pipe for details on this variety of
file.
process
This kind of file corresponds one-to-one with the existence of a
process on a system. It tends to be short-lived.
Files live with a file system, which organizes the files hierarchically
within directories. The Lexicon entry for the command mkfs gives some
technical information on how a file system is constructed. The Lexicon
entry for the command mount gives some information on how a file system
relates to device on which it lives, and how different file systems from
different partitions are hooked together to form one large file system for
the entire computer.
The same file can have (and be accessed by) more than one name. The
Lexicon entry for the command ln shows how you can link additional names to
a file. The entry for the system call unlink() gives some details on the
relationship between a file and its names.
Finally, a file has permissions associated with it. Every file is owned by
someone; and the owner can restrict access to the file if she wishes. The
Lexicon entry for the command ls describes what permissions are available
for a file. The entry for the command chmod shows how you can change
permissions on a file. The entry for the command umask shows how you can
change the permissions that COHERENT gives by default to any files that you
create.
See Also
chgrp,
chmod,
chown,
directory,
FILE,
device drivers,
ls,
mkfs,
named pipe,
open(),
Programming COHERENT,
stream,
umask,
Using COHERENT
ANSI Standard §4.9.3