Amoeba (operating system)
Developer | Andrew S. Tanenbaum |
---|---|
Latest release | 5.3 / 30 July 1996[1] |
Available in | English |
Platforms | i386/i486, MIPS, Motorola 68030, NS 32016, Sun 3/50 and 3/60, SPARC, VAX |
Kernel type | Microkernel |
License | MIT license[2] |
Official website | http://www.cs.vu.nl/pub/amoeba/ |
Amoeba is a distributed operating system developed by Andrew S. Tanenbaum and others at the Vrije Universiteit. The aim of the Amoeba project was 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 source code of the latest version (5.3) were last modified on 30 July 1996.[1]
The Python programming language was originally developed for this platform.[3]
Contents
Overview
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 consist 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.[4] Unlike the contemporary Sprite, Amoeba did not support process migration.[5] The workstations would typically function as networked terminals only. Aside from workstations and processors, additional machines would operate as servers for files, directory services, TCP/IP communications etc.[4]
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.[4]
The user interface and APIs of Amoeba were modeled after Unix and compliance with 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 terminals).[4]
The system used FLIP as a network protocol.
See also
References
- ↑ 1.0 1.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ [1]
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 4.0 4.1 4.2 4.3 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.
- ↑ 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.