Re: Network performance

Bruce Thompson (bruce@otherother.com)
Fri, 28 Jun 1996 08:14:18 -0700


At 09:31 06/27/96, Leonard N. Zubkoff wrote:
> Date: Thu, 27 Jun 1996 17:32:11 +0200 (MET DST)
> From: Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de>
>
> > I always wondered what happened to Convex ;)
>
> They have been bought by HP. They also tried to "buy" the people,
> but at least Stefan didn't seem to be too happy with it.
>
><sigh> No doubt their acquisition of Convex will work out as well as the Apollo
>acquisition did...
>
> Leonard

Aw Jeez,
I'd only just gotten over that and you had to remind me! <sigh> :-)

A touch more seriously, that reminds me of a couple of wonderful Apollo
features that I'd love to see in Linux. Those features are variant links
and extended pathnames.

For those who've never had the privilege of working on an Apollo
system, a variant link is a symbolic link with an embedded environment
variable reference:

ln -s "/usr/${BINARY_FORMAT}/lib" /usr/lib

would make /usr/lib a link to either /usr/aout/lib or /usr/elf/lib
depending on the value of the environment variable BINARY_FORMAT at the
time the link is dereferenced. This was used on Apollo systems to support
three operating environments: Domain/OS, BSD4.3 and SYS5.3 all at the same
time. /bin was a variant link depending on the value of SYSTYPE. This was
incredibly useful! One use I can see for it immediately is to have
/usr/src/linux be a link to the source of the currently executing kernel.
Trivial with variant links. Anyone interested in building it?

The other feature that was really handy was extended pathnames. This
related to the Apollo's typed filesystem. A filesystem object had a
particular type with an associated type manager (essentially a library to
handle the typical file operations). A type manager could accept additional
filename components beyond the name of the actual file, i.e. a file called
/usr/foo could be openned as /usr/foo/bar. The type manager would be
responsible for doing something meaningful based on the extra components.
One system that used this extensively was the Domain Software Engineering
Environment (DSEE). DSEE provided version control (among other things). A
file under DSEE control could be referred to as: .../library/file to refer
to the latest version of the file or as .../library/file/revision to refer
to a particular revision of the file. This made it really easy to do things
like fetch the versions of all files that were used to build a particular
release, etc.

Anyhow, we're all talking about post 2.0 wish lists, these two items
are on my wish list. Variant links would be great, extended pathnames would
be totally cool. For that matter something like the type manager system
would be simply amazing.

Cheers,
Bruce.

--
--------------------------------------------------------------------------
Bruce Thompson                  | "Rumors of our death have been greatly
Developer Technical Support     |  exaggerated."
Newton Systems Group            |      - Employees of Apple Computer, Inc.
Apple Computer, Inc.            |
bruce@newton.apple.com          | "Don't believe half of what you hear,
bthompson@applelink.apple.com   |  and most of what you read in the papers"
bruce@otherother.com            |      - Me
                                |

I don't speak for Apple, my opinions are strictly my own.