[comp.sys.nsc.32k] Minix 1.5 Amoeba driver posted..

news@daver.bungi.com (06/13/90)

If you do not track comp.os.minix, you might want to take a peek.
The full source for the Amoeba driver for Minix 1.5 was just
posted by AST.

The attached narriative was extracted from part 1 of the posting.

johnc

	--------------------------------------------------------

From: ast@cs.vu.nl (Andy Tanenbaum)
Newsgroups: comp.os.minix
Subject: Amoeba 1 of 4
Message-ID: <6922@star.cs.vu.nl>
Date: 12 Jun 90 14:26:42 GMT
Sender: news@cs.vu.nl
Organization: Fac. Wiskunde & Informatica, VU, Amsterdam
Lines: 1263

Here is the long awaited Amoeba driver for MINIX 1.5.  First a bit of
introduction.    Read the whole thing to see the relevance to MINIX.
     
Amoeba is a new operating system.  It is a complete 
operating system that runs on the bare hardware, just as UNIX, MINIX, MS-DOS,
OS/2, and VMS do.  It contains process management, memory management,
a file system, and comes with over 100 utilities, just as all the above do.
You can think of it as an alternative to MINIX.

However, Amoeba is targeted at the other end of the spectrum.  Whereas
MINIX is for single user, low-end, home and educational users with one
smallish machine, Amoeba is a full-fledged distributed system aimed at
high performance applications.  At the Vrije Universiteit, we are running
it on a system with some 30-odd 68020s and 68030s.  Its goal is to make
the whole collection of hardware look and act like a single system.  Users
are not aware of where jobs run, where files are stored, etc.  It is just
one big system.  This is in contrast to say, Sun UNIX, in which users are
very much aware of the machine boundaries.

In addition to being distributed, Amoeba has been designed to be very fast.
Our major customer at the moment is the European Space Agency, which is
using it as the operating system for a digital system for transmitting
real time video over a fast LAN.  Right now they have 1 camera on the
spacecraft, but eventually they want to have 50, and be able to dynamically
switch channels etc digitally.  As you can well imagine, high performance
is a major issue here.  That is why Amoeba was chosen over UNIX, Chorus,
Mach etc.

If you want to learn more about Amoeba, see the May 1990 issue of IEEE
Computer Magazine.  If you want still more information, there is a 300
page book about Amoeba available via anonymous FTP on midgard.ucsc.edu
in the directory ftp/pub/amoeba in both source and compress postscript
form.  Amoeba will be available to universities for a modest licensing
fee (probably $500 to $1000), including all the source code, in the second
half of 1990.  It runs on Sun-3s, VAXes, and 386s.  If we can find someone
to finance it, we will port it to RISC machines as well.

This said, what does Amoeba have to do with MINIX?  In theory, nothing.
However, since I am the chief architect of both systems, when looking
around for a network protocol to put in MINIX, I was naturally attracted
to the Amoeba protocol, due to its great speed.  Thus we have written a
driver for MINIX (and also one for UNIX) that implements the Amoeba
protocol for MINIX systems.  In this way, two Amoeba systems can
communicate over an Ethernet using the WD board.  Software is also
provided for remote login, file transfer, and other goodies.    When using
the Amoeba protocols, Sun-3s, MINIX systems etc can talk to each other
over the Ethernet.  The Amoeba driver I am about to supply is for the
IBM version of MINIX only.

Rather than post cdiffs against 1.3, I have decided to post the whole
thing.  Please note that you can run Amoeba on a SINGLE MACHINE.  You
do not need an Ethernet or two machines.  All you have to do for the
single machine version is put the -DNONET flag in all the Makefiles.
This allows you to experiment with networking, RPC, etc. without a network,
but the code you develop will run unmodified on a real Ethernet.
Below you will find two items: The crcs for the amoeba directory, and
the manual.  Please install amoeba at the top level, i.e., in the same
directory as kernel, mm, fs, and tools.  This is essential, as it accesses
the kernel directory via ../stuff.

The posting consists of 4 parts.  This one (part 0), parts 1 and 2 (the
kernel directory) and part 3 (the fs, mm, examples, and util directory,
and the top level Makefile, all shar'ed together for posting purposes).

[stuff deleted]

--