Extended file system on UNIX 4.2/4.3 BSD
Richard Mathews
lcc.richard at locus.ucla.edu
Fri Dec 27 16:28:47 AEST 1985
I have one more UNIX compatible system to add to the list of those which
allow for transparent remote file access. As an employee of Locus
Computing Corporation, I will try to avoid making this a commercial and
just stick to the facts.
The LOCUS Distributed Operating System runs on a variety of cpu types
(including VAX) which may all be on the network together. Differences in
architectures are largely hidden from the user. In the VAX version, it is
binary and source compatible with BOTH BSD 4.1 and System V Release 2. The
Berkeley part of it has been enhanced with 4.2 IPC. Programs can take
advantage of both the SysV features and the BSD features at the same time.
A key feature is transparent access to remote files. For example, I can
log in on Fafnir (which is not a VAX), but I will be in my home directory
which is stored on Frodo (which IS a VAX). The name of my home directory
is /u/richard. There is no indication in the name which tells you where
it is stored (I don't have to say anything like /@frodo/u/richard). The
file name "/u/richard" refers to the same file from anywhere on the network.
This is handled by the kernel which maintains a global mount table (Fafnir
knows that Frodo has a file system mounted on /u). Since it is in the
kernel, programs don't have to be recompiled or relinked to use any of the
LOCUS system's features.
An often asked question is "where is the root directory stored?" The
answer is that the root file system is usually replicated, so all sites
can quickly access common programs. Any other file system can also be
replicated. If a replicated file is modified, all copies will be updated
automatically. If a site is down, its copy will be updated when it joins
the network. A site can run without having its own copy of the root by
searching the network for a site willing to act as a file server.
The LOCUS system also allows for transparent access to processes on all
machines. If I am on Fafnir and try to read mail with the "rdm" program,
Fafnir will discover that it cannot run the program because "rdm" is
compiled for a VAX. Fafnir will pick a random VAX to run it on. Pipes,
signals, and terminal access will all work transparently.
If all programs were such that they could only run on one machine type,
that would be a problem. "rdm" is a special case of a program which has
not been ported to our other machines. If you look at our /bin/csh (or
most of the other programs on the root file system) you will find that it
is really two files in one, so that it can run on either Fafnir or on a VAX.
Running processes can also be "migrated" between machines. If I decide
that the load is too high on Fafnir, I can migrate my "make" to any other
machine of the same cpu type. Again, programs do not have to be recompiled
or relinked to take advantage of this.
I do not know when the LOCUS operating system will be publicly available.
Sorry about making this so long, but I got carried away. If you care to
know more, there is a book soon to be published by MIT Press which describes
this system. I beleive the title is something like "The LOCUS Distributed
System Architecture" and the editors are Gerald Popek and Bruce J. Walker.
Richard M. Mathews
Locus Computing Corporation lcc.richard at LOCUS.UCLA.EDU
lcc.richard at UCLA-CS
{ihnp4,trwrb}!lcc!richard
{randvax,sdcrdcf,ucbvax,trwspp}!ucla-cs!lcc!richard
Any opinions here are my own and do not reflect on those of my employer.
More information about the Comp.unix.wizards
mailing list