Amoeba Distributed Operating System
The Amoeba distributed operating system project [Tanenbaum et al., Vrije Universiteit, Amsterdam] was a research effort aimed at understanding how to connect computers together in a seemless way.
The basic idea is to provide the users with the illusion of a single powerful timesharing system, when in fact, the system is implememented on a collection of machines, potentially distributed among several countries.
This research has led to the design of the Amoeba distributed operating system, which is being used as a prototype and vehicle for further research. In this paper we will discuss the current state of the Amoeba operating system and discuss some of the lessons learnt in the course of design and implemention of the system. The chief goal of the research effort is to build a distributed operating system that is transparent to the users.
This concept can best be illustrated by contrasting it with a network operating system, in which each machine retains its own identity. With a network operating system, each user logs into one specific machine, his home machine. When a program is started, it executes on the home machine, unless the user gives an explicit command to run it elsewhere. Similarly, files are local unless a remote file system is explicitly mounted or files are explicitly copied. In short, the user is clearly aware that multiple independent computers exist, and must deal with them explicitly. In a transparent distributed operating system, in contrast, users effectively log into the system as a whole, and not to a specific machine.
When a program is run, the system, not the user, decides the best place to run it. The user isnot even aware of this choice. Finally, there is a single, system wide file system. The files in a single directory may be located on different machines possibly in different countries. There is no concept of file transfer, uploading or downloading from servers, or mounting remote file systems. A file’s position in the directory hierarchy has no relation to its location.