Amoeba (operating system)

From RetroWikipedia
Revision as of 08:38, 27 May 2025 by imported>GreenC bot (Move 1 url. Wayback Medic 2.5 per WP:URLREQ#citeftp)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Amoeba
DeveloperAndrew S. Tanenbaum
Frans Kaashoek
OS familyUnix-like
Latest release5.3 / 30 July 1996; 29 years ago (1996-07-30)[1]
Repository
  • {{URL|example.com|optional display text}}Script error: The module returned a nil value. It is supposed to return an export table.
Available inEnglish
Supported platformsi386/i486, MIPS, Motorola 68030, NS 32016, Sun 3/50 and 3/60, SPARC, VAX
Kernel typeMicrokernel
LicenseMIT License[2]
Official websitewww.cs.vu.nl/pub/amoeba/

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) was last modified on 30 July 1996.[1]

The Python programming language was originally developed for this platform.[4]

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 consists of a number of workstations connected to a "pool" of processors, and executing a program from a terminal causes it to run on any of the available processors, with the operating system providing load balancing.[3] Unlike the contemporary Sprite, Amoeba does not support process migration.[5] The workstations would typically function as networked terminals only. Aside from workstations and processors, additional machines operate as servers for files, directory services, TCP/IP communications etc.[3]

Amoeba is a microkernel-based operating system. It offers multithreaded programs and a remote procedure call (RPC) mechanism for communication between threads, potentially across the network; even kernel-threads use this RPC mechanism for communication. Each thread is assigned a 48-bit number called its "port", which serves as its unique, network-wide "address" for communication.[3]

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 consists 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 uses the X Window System (and allows X terminals as terminals).[3] The system uses FLIP as a network protocol.

See also

References

  1. 1.0 1.1 "Amoeba FTP". cs.vu.nl (FTP).[dead ftp link] (To view documents see Help:FTP)
  2. "Licence". cs.vu.nl. Retrieved 19 July 2023.
  3. 3.0 3.1 3.2 3.3 3.4 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.
  4. "Why was Python created in the first place?". Python FAQ. Archived from the original on 23 February 2008. Retrieved 2008-02-11.
  5. 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.

External links