Next: Disk space control
Up: DISK/DIRECTORY SYSTEM
Previous: Access keys and locks
A directory was a disk object which consisted of a list of entries.
Each entry contained a symbolic name, an object
specification and a list of access-locks.
- a)
- The symbolic name was merely a sequence of characters.
- b)
- The object specifications could be one of three things:
- i)
- an owned entry;
- ii)
- a hard link, i.e., there would be a pointer to a disk object not
owned by this entry;
- iii)
- a soft link, specified by a pointer to another directory, a text
name to be used for look up in that directory and an access key.
- c)
- An access-lock was a pair:
- i)
- a number to be matched against an access key
- ii)
- a set of option bits.
Each disk object, except a root directory, had exactly one ownership
entry in some one directory. Thus the directories formed the objects
of the disk system into a tree structure.
The access action required three arguments: a directory, a symbolic
name, and an access key. If an entry was found in the directory with
the symbolic name, the access-lock list for the entry was scanned. If
a number in the access lock list was found which matched the number in
the presented access key, then an ECS system user type capability for
the object specified at the entry was returned with the option bits
associated with the given access key number. (As described in the
chapter on implementation of the disk/directory system, the directory
system maintained private capability-creating-authorizations for
creating user capabilities for disk objects.)
The basic directory access action just described had a number of
variations. In order to reduce the length of access lock lists, we
defined a special access key, the null access key. The number in this
key occurred implicitly in all lock lists and had an associated set of
option bits, of which all others were subsets. The null access key was
accepted as the third argument only if the directory capability in the
first argument had an appropriate option bit on. A capability with
this bit on was generally only available to the owner of the
directory.
If the object at the entry was found to be specified by a soft link, a
further directory lookup was automatically made with the directory,
text name and access key supplied by the entry. The intended purpose
of this facility was to provide pointers to objects whose identity
would change from time to time.
The modification of the access-lock list for a given entry did not
require possession of the indicated key. An ordinary datum containing
the number of the key was sufficient (in addition to a suitable
capability for the directory, of course). Thus, one user could provide
access to one of his files for a second user, without ever possessing
access to that second user's access key. The second user need only
give the number of his access key to the first user (e.g., in a
written note).
Other actions on directories included provision for listing the
contents of a directory, creating and deleting entries, etc.
Next: Disk space control
Up: DISK/DIRECTORY SYSTEM
Previous: Access keys and locks
Paul McJones
1998-06-22