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] --