Supported Hardware Configurations

General Requirements

The Amoeba 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, Fireball­Amoeba only supports Ethernet. In special only the 10 MBit/s connectivity with RJ­45 or RG­58 connectots, and now 100 MBit/s Fast Ethernet, too.


Currently 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.


Amoeba is 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 FSD­Distribution itselfes supports only the Intel 80386 family, but can coexists with the old Amoeba­5.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 big­endian and others little­endian. 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.

File Servers

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.


The primary 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.

Pool Processors

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, 64­128 MB recommended). Each processor pool should have at least 4 or 5 processors to do any useful work.

Supported Hardware

Below is a summary of the machines and related equipment for which Amoeba is currently available.

Intel 80386 Systems

Amoeba runs on Intel 80386, 80486 and Pentium­based machines from variuos vendors with an ISA bus (i.e., an IBM PC AT bus). It has also successfully run on EISA, PCI­ and VL­bus machines. However, it does not take advantage of ``plug­and­play'' 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:

Processors (successfull tested):

  • 386 SX/DX (16..33 MHz) Intel
  • 486 DX/DXII (33MHz..80 MHz), AMD/Cyrix/Intel
  • 586 AMD/Cyrix (133 MHz)
  • Pentium P55 (75/166/200/233 MHz) Intel
  • Cryix 6x86 MXII (133 MHz)
  • AMD K6­II (350/400/450 MHz)
  • Intel Celeron Mendicino (433 MHz) (Gericom Notebook)

BUS Systems

  • ISA
  • EISA
  • PCI
  • VLB
  • PCMCIA (not fully supported; no init code)


It seems all vendor boards are working. Tested boards:

  • ASUS (P5AB)
  • Gigabyte (586/686)
  • Shuttle (Hot 555/555A)
  • and many more

Disk controllers:

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.

Graphic cards:

  • Hercules Mono

(See notes on X windows below.)

Floppy Drives:

Floppy drives 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.

Network cards:

  • Novell NE1000, NE2000, NE2100 ISA and PCI cards and nearly all
    clone cards (PCMCIA cards work too, but need still another OS (Linux)
    to initialize the PCMCIA­Cardbus). The NE2000 gives much better
    performance than the NE1000.

  • A WD 8003E, WD 8013EB, WD 8013 Elite, WD 8013EP or SMC
    . The SMC 8013EPC will give the best performance of the
    SMC (formerly Western Digital) Ethernet boards.

  • SMC Ultra and EZ support. The SMC ultra ISA board cards delivers
    nearly maximal performance, like the NE2000 cards.

  • A 3Com 503 Etherlink II or compatible. The performance is
    poorest of the cards listed. 16­bit 3Com cards may work but have not
    been tested. (Old driver; not supported for installation)

  • 3Com 509 Etherlink III.

  • 3Com 590 Etherlink III. (without DMA Busmaster)

  • Realtek RTL 8129/8139 100Mbps Fast Ethernet card support (still
    beta test, but ready to use). RPC throughput up to 10MByte/s (from user
    process to user process) and ca. 150usec overall latency! (4)

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.

Nearly all new network drivers now support auto port and irq probing! Most drivers support PCI interrupt sharing.

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 PC­BIOS not vanisches, you need to pass the kernel the ­mem:## (MB) option.

Amoeba doesn't make any usage of the BIOS. All needed hardware drivers are delivered within theAmoeba kernel. But the first bootstrap stage (Amoeba standalone boot program­ on floppy or harddisks) needs the BIOS to load the first Amoeba kernel.

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