Girish Mahajan (Editor)

Amoeba (operating system)

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer
  
Andrew S. Tanenbaum

Kernel type
  
Microkernel

Available in
  
English

License
  
MIT license

Latest release
  
5.3 / 30 July 1996; 20 years ago (1996-07-30)

Platforms
  
i386/i486, MIPS, Motorola 68030, NS 32016, Sun 3/50 and 3/60, SPARC, VAX

Amoeba is a distributed operating system developed by Andrew S. Tanenbaum and others at the Vrije Universiteit Amsterdam. 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.

The Python programming language was originally developed for this platform.

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. 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 servers for files, directory services, TCP/IP communications etc.

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

The system used FLIP as a network protocol.

References

Amoeba (operating system) Wikipedia