Amoeba (operating system)
||This article has multiple issues. Please help improve it or discuss these issues on the talk page.
|Company / developer||Andrew S. Tanenbaum|
|Available programming languages(s)||C, Modula 2, Orca, Pascal|
|Supported platforms||i386/i486, MIPS, Motorola 68030, NS 32016, Sun 3/50 and 3/60, SPARC, VAX|
Amoeba was a distributed operating system developed by Andrew S. Tanenbaum and others at the Vrije Universiteit. The aim of the Amoeba project is to build a timesharing system that makes an entire network of computers appear to the user as a single machine. Development at the Vrije Universiteit was stopped: the files in the latest version (5.3) were last modified on 12 February 2001. Recent development is carried forward by Dr. Stefan Bosse at BSS Lab.
The system uses FLIP as a network protocol.
The goal of the Amoeba project was to construct an operating system for networks of computers that would present the network to the user as if it were a single machine. An Amoeba network would consists of a number of workstations connected to a "pool" of processors, and executing a program from a terminal would cause it to run on any of the available processors, with the operating system providing load balancing. Unlike the contemporary Sprite, Amoeba did not support process migration. The workstations would typically function as networked terminals only. Aside from workstations and processors, additional machines would operate as file servers.
Amoeba was a microkernel-based operating system. It offered multithreaded programs and a remote procedure call (RPC) mechanism for communication between threads, potentially across the network; even kernel-threads would use this RPC mechanism for communication. Each thread was assigned a 48-bit number called its "port", which would serve as its unique, network-wide "address" for communication.
The user interface and APIs of Amoeba were modeled after Unix and the POSIX standard was partially implemented; some of the Unix emulation code consisted of utilities ported over from Tanenbaum's other operating system, MINIX. Early versions used a "homebrew" window system, which the Amoeba authors considered "faster ... in our view, cleaner ... smaller and much easier to understand", but version 4.0 used X (and allowed X terminals as workstations).
See also 
- Andrew S. Tanenbaum, M. Frans Kaashoek, Robbert van Renesse and Henri E. Bal (1991). The Amoeba distributed operating system — a status report. Computer Communications 14.
- "Why was Python created in the first place?". Python FAQ. Archived from the original on 23 February 2008. Retrieved 2008-02-11.
- Fred Douglis, M. Frans Kaashoek, Andrew S. Tanenbaum and John Ousterhout (1991). A comparison of two distributed systems: Amoeba and Sprite. Computing Systems 4(4), pp. 353–384.
Recent development by Dr. Stefan Bosse at BSS Lab:
- VAM, The Virtual Amoeba Machine: distributed operating system based on Amoeba with virtual machine concepts and functional programming
- AMUNIX, Amoeba on the top of UNIX: Amoeba extension for UNIX-like opertaing systems
- AMCROSS: Amoeba crosscompiling environment for UNIX
- VX-Kernel: the new VX-Amoeba Kernel
- VAMNET, The Virtual Amoeba Machine Network: a new hybrid distribute operating system environment