Amoeba (operating system)

Last updated
Amoeba
Developer Andrew S. Tanenbaum
Frans Kaashoek
OS family Unix-like
Latest release 5.3 / 30 July 1996;27 years ago (1996-07-30) [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 www.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]

Contents

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

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. [4] 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. [4]

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. [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 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). [4] The system uses FLIP as a network protocol.

See also

Related Research Articles

<span class="mw-page-title-main">Andrew S. Tanenbaum</span> American-Dutch computer scientist (born 1944)

Andrew Stuart Tanenbaum, sometimes referred to by the handle ast, is an American–Dutch computer scientist and professor emeritus of computer science at the Vrije Universiteit Amsterdam in the Netherlands.

<span class="mw-page-title-main">Minix</span> Unix-like operating system

MINIX is a Unix-like operating system based on a microkernel architecture. Since version 2.0, it has been Portable Operating System Interface (POSIX) compliant.

<span class="mw-page-title-main">Microkernel</span> Kernel that provides fewer services than a traditional kernel

In computer science, a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, thread management, and inter-process communication (IPC).

<span class="mw-page-title-main">Operating system</span> Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs.

<span class="mw-page-title-main">Plan 9 from Bell Labs</span> Distributed operating system

Plan 9 from Bell Labs is a distributed operating system which originated from the Computing Science Research Center (CSRC) at Bell Labs in the mid-1980s and built on UNIX concepts first developed there in the late 1960s. Since 2000, Plan 9 has been free and open-source. The final official release was in early 2015.

In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space, which is written as if it were a normal (local) procedure call, without the programmer explicitly writing the details for the remote interaction. That is, the programmer writes essentially the same code whether the subroutine is local to the executing program, or remote. This is a form of client–server interaction, typically implemented via a request–response message-passing system. In the object-oriented programming paradigm, RPCs are represented by remote method invocation (RMI). The RPC model implies a level of location transparency, namely that calling procedures are largely the same whether they are local or remote, but usually, they are not identical, so local calls can be distinguished from remote calls. Remote calls are usually orders of magnitude slower and less reliable than local calls, so distinguishing them is important.

<span class="mw-page-title-main">Vrije Universiteit Amsterdam</span> University in Amsterdam, Netherlands

The Vrije Universiteit Amsterdam is a public research university in Amsterdam, Netherlands, being founded in 1880. The VU Amsterdam is one of two large, publicly funded research universities in the city, the other being the University of Amsterdam (UvA). The literal translation of the Dutch name Vrije Universiteit is "Free University". "Free" refers to independence of the university from both the State and the Dutch Reformed Church. Both within and outside the university, the institution is commonly referred to as "the VU". Although founded as a private institution, the VU has received government funding on a parity basis with public universities since 1970. The university is located on a compact urban campus in the southern Buitenveldert neighbourhood of Amsterdam and adjacent to the modern Zuidas business district.

Sprite is an experimental Unix-like distributed operating system developed at the University of California, Berkeley by John Ousterhout's research group between 1984 and 1992. Its notable features include support for single system image on computer clusters and the introduction of the log-structured filesystem. The Tcl scripting language also originated in this project.

The V operating system is a discontinued microkernel distributed operating system that was developed by faculty and students in the Distributed Systems Group at Stanford University from 1981 to 1988, led by Professors David Cheriton and Keith A. Lantz. V was the successor to the Thoth operating system and Verex kernel that Cheriton had developed in the 1970s. Despite similar names and close development dates, it is unrelated to UNIX System V.

The Andrew Project was a distributed computing environment developed at Carnegie Mellon University beginning in 1982. It was an ambitious project for its time and resulted in an unprecedentedly vast and accessible university computing infrastructure. The project was named after Andrew Carnegie and Andrew Mellon, the founders of the institutions that eventually became Carnegie Mellon University.

Helios is a discontinued Unix-like operating system for parallel computers. It was developed and published by Perihelion Software. Its primary architecture is the Inmos Transputer. Helios' microkernel implements a distributed namespace and messaging protocol, through which services are accessed. A POSIX compatibility library enables the use of Unix application software, and the system provides most of the usual Unix utilities.

<span class="mw-page-title-main">Domain/OS</span>

Domain/OS is the discontinued operating system used by the Apollo/Domain line of workstations manufactured by Apollo Computer. It was originally launched in 1981 as AEGIS, and was rebranded to Domain/OS in 1988 when Unix environments were added to the operating system. It is one of the early distributed operating systems. Hewlett-Packard supported the operating system for a short time after they purchased Apollo, but they later ended the product line in favor of HP-UX. HP ended final support for Domain/OS on January 1, 2001.

The Fast Local Internet Protocol (FLIP) is a communication protocol for LAN and WAN, conceived for distributed applications. FLIP was designed at the Vrije Universiteit Amsterdam to support remote procedure call (RPC) in the Amoeba distributed operating system.

<span class="mw-page-title-main">Twisted (software)</span> Event-driven network programming framework

Twisted is an event-driven network programming framework written in Python and licensed under the MIT License.

Inter-Language Unification or ILU is a method for computer systems to exchange data, bridging differences in the way systems represent the various kinds of data. Even if two systems run on the same computer, or on identical computer hardware, many differences arise from the use of different computer languages to build the systems.

<span class="mw-page-title-main">Tanenbaum–Torvalds debate</span> 1990s debate regarding the Linux kernel

The Tanenbaum–Torvalds debate was a written debate between Andrew S. Tanenbaum and Linus Torvalds, regarding the Linux kernel and kernel architecture in general. Tanenbaum, the creator of Minix, began the debate in 1992 on the Usenet discussion group comp.os.minix, arguing that microkernels are superior to monolithic kernels and therefore Linux was, even in 1992, obsolete. The debate has sometimes been considered a flame war.

<span class="mw-page-title-main">Minix 3</span> Unix-like operating system

Minix 3 is a small, Unix-like operating system. It is published under a BSD-3-Clause license and is a successor project to the earlier versions, Minix 1 and 2.

<span class="mw-page-title-main">Henri Bal</span> Dutch scientist (born 1958)

Henri Elle Bal is a professor of computer science at the Vrije Universiteit, Amsterdam in the Netherlands. He is a well-known researcher in computer systems with a specialization in parallel computer systems, languages, and applications.

Linux began in 1991 as a personal project by Finnish student Linus Torvalds to create a new free operating system kernel. The resulting Linux kernel has been marked by constant growth throughout its history. Since the initial release of its source code in 1991, it has grown from a small number of C files under a license prohibiting commercial distribution to the 4.15 version in 2018 with more than 23.3 million lines of source code, not counting comments, under the GNU General Public License v2 with a syscall exception meaning anything that uses the kernel via system calls are not subject to the GNU GPL.

Marinus Frans (Frans) Kaashoek is a Dutch computer scientist, entrepreneur, and Charles Piper Professor at the Massachusetts Institute of Technology.

References

  1. 1 2 "Amoeba FTP". cs.vu.nl.[ permanent dead link ]
  2. "Licence". cs.vu.nl. Retrieved 19 July 2023.
  3. "Why was Python created in the first place?". Python FAQ. Archived from the original on 23 February 2008. Retrieved 2008-02-11.
  4. 1 2 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.
  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.