distributed operating system can run on many different types and brands of
computers. It is intended that it should run on a network with at least five computers. Although it is
today technically possible to run Amoeba with just a single processor, it is
not a satisfactory way to use the system. For a standalone system (with
perhaps additional secondary machines) the main machine should be equipped
with at least 64 MB RAM (128 MB recommended) and at least with 500MB disk
space. It is, after all, a distributed
operating system. To get good results from the system you
should have a separate machine for the file server, one workstation per user
(to run the user interface) and a group of pool processors to perform the
actual work and to run various servers. In general, at least five hosts are
needed for pleasurable computing, although it's not true today anymore
because of todays fast Pentium machines. All the Amoeba hosts must be
connected by a network so that they can communicate with each other, although
they need not necessarily be all on the same network, as long as all the
networks are connected via gateways.
Currently, FireballAmoeba only supports Ethernet. In special only the 10 MBit/s connectivity with RJ45 or RG58 connectots, and now 100 MBit/s Fast Ethernet, too.
Amoeba only has drivers for Ethernet but other network drivers are under
consideration. Amoeba sets no upper limit on the number of computers on a
local network but in some cases it is limited by the network bandwidth or
topology. (More commonly, it is limited by the hardware budget.)
Note well: Amoeba does not demand exclusive use of the network. It can use the same network as computers running other operating systems. However it is in the nature of distributed systems to consume more network bandwidth than centralized systems. It is therefore a good idea to isolate the Amoeba hosts behind a bridge if the other hosts on the network are performing important functions which require good network response.
reasonably portable and has run on five architectures.However it is currently
only available on the following architectures: the Motorola MC680x0 family,
the Intel 80386 family and
certain members of the SPARC family. The
FSDDistribution itselfes supports only the Intel 80386 family, but can
coexists with the old Amoeba5.3 system! But be
aware of too much binary and kernel mixing between the old and the new
system; you will probably fail.
It should be noted that some of these architectures are bigendian and others littleendian. A mixture of different endian machines should not be a problem as standard servers and utilities deal with this.Combinations of different architectures only requires that the binaries are available for all the architectures. Processor pools may contain processors of more than one architecture. The run server (see run(A)) chooses the optimal processor for the architectures for which the binaries are available.
There are several configurations supported for the three architectures. This is to provide the various types of processor required: pool, workstation and specialized server.
The file server distributed with Amoeba is called the Bullet Server. It uses a large buffer cache to provide very high performance.Thus the file server should be run on a machine with a large amount of RAM, and, of course, a disk. There is a modified version of the bullet server, called bulletb, using a diffeerent cache method, and needing less memory.
For the file
server, the more memory present, the better the performance. The following
table shows the minimum amount of memory needed for a isolated file server host, a boot
host, the installation, and the workstation kernel. It also shows the largest
main memory support by the kernel. In most cases this will not be supported
by the physical machine.
|Kernel||Minimum Memory Requirement||Software Limit on Memory|
|Workstation||4 MB||512 MB|
|Fileserver||16 MB||512 MB|
|Installation||32 MB||512 MB|
|Boot (with FS)||64 MB||512 MB|
Fig. 1. Minimum memory requirements for file server machines and maximum memory configurations supported by Amoeba.
On the various 80x86 machines it may be possible to insert up to 512 MB**, depending on the machine. You need at least 4 MB RAM to run the bare kernel and perhaps a login shell, for example a text only console or a special I/O Hardware Server, a printer spooler or something else.
function of workstations is to run the user interface (for example the X
window system) and so they do not require large amounts of memory. 8 MB is
the lower limit for color and monochrome X servers. 16 MB and more is
recommended. For a generic text terminal, 4MB is still enough. It is also
possible to use an X terminal as a workstation. (If the X terminal does not
understand the Amoeba network protocol it will be necessary to use a TCP/IP
server to convert network protocols which reduces perceived performance.)
If no bitmap display is available a regular terminal can be used.It will not run X windows, of course.
Nearly all the computing occurs on the pool processors. There is swap support in Amoeba so it is important that pool processors (and of course all machines executing programs) have enough memory to run the processes entirely in core. Between 8 and 16 MB of memory is the minimum for normal use. If large programs such as matrix multiplication (SCILAB, DATAPLOT) or TEX, and of course GCC are to be run then more memory will be required (at least 32 MB, 64128 MB recommended). Each processor pool should have at least 4 or 5 processors to do any useful work.
Below is a summary of the machines and related equipment for which Amoeba is currently available.
Amoeba runs on Intel 80386, 80486 and Pentiumbased machines from variuos vendors with an ISA bus (i.e., an IBM PC AT bus). It has also successfully run on EISA, PCI and VLbus machines. However, it does not take advantage of ``plugandplay'' facilities. Several motherboards were tested without problems. But it's strongly recommended to disable the motherboard power management of any kind. Notebooks are usually supported. But remember the fact, that PCMCIA slots at the moment are not initialized by the Amoeba kernel. Perhaps a pre run of another OS (Linux) can initialize the port (for network cards...).
The following devices are supported:
It seems all vendor boards are working. Tested boards:
SCSI, ESDI and (E)IDE,
(MFM?).If the controller contains intelligence/caching, it may
be necessary to turn the intelligence off to get it to work with Amoeba. The supported
SCSI cards are the Adaptec 154X cards. These include the Adaptec 1540, 1542A, 1542B
1542C and 1542CF cards. SCSI tapes are also supported. IDE hard drives with more than
1024 cylinders and more than 4 GB are supported.
(See notes on X windows
of 1.44 MB and 1.2 MB are supported, and the driver allows floppy disks
with the following densities to be used: 360 KB, 720 KB, 1.2 MB, and 1.44 MB. 2.88 MB
floppy drives may work; they are treated as 1.44 MB floppy drives.
Note: The Ethernet cards normally use IRQ 3, IRQ 5 or IRQ 10 in Amoeba. If that is inconvenient then alternate IRQ levels can be used. Below is a table showing the default IRQ allocations.
The XFree version (3.3.2/4/6) of X11R6.4 windows is provided. It runs on most commercially available video cards. S3, S3V, Mach64 or generic VGA controller are recommended. Hercules mono cards are supported, too. One of the following mice is also required for X windows: Logitech Bus mouse (at IRQ level 5), Mouse System's mouse or Microsoft mouse (serial, at IRQ 3). PS/2 mices are currently not supported. Note that the color X server needs at least 8 MB free memory to run effectively.
** The current BIOS call to obtain the memory size only returns 16 bits of information enough to represent 64 MB. The rest of the kernel can cope with much more. This limit will be fixed when the new BIOS call for larger memories becomes known to the Amoeba developers (??). But untill the damned PCBIOS not vanisches, you need to pass the kernel the mem:## (MB) option.
1. Note that if using an Adaptec SCSI controller it should be configured with I/O address 0x330 and IRQ 11.
2. The Novell NE2100 should be configured with I/O address 0x300 and IRQ level 3.
3. The 3Com 503 should be configured at I/O address 0x280 and IRQ 3, the share memory should be enabled at any free address (e.g., 0xCC000)
4. The Realtek
81X9 cards seem to have problems with Amoeba's very high protocolstack
overall speed: a tiny delay between two packet sends is necessary to avoid
card overkills. A value about 100 usec seems to be enough. Smaller values are
possible (default setting 100 usec, can be changed with the nrd:## usec
kernel option). But if you got tx timeout messages from the kernel, increase
the delay value.
Maintained and created by
|Dr. Stefan Bosse|