The Amoeba system is a general purpose distributed operating system, designed to take a collection of machines and make them act together as a single system. Users are not aware of the number or locations of processors that run their commands, nor the number and location of the file servers that store their files. As a matter of fact, an Amoeba system looks like a single, old-fashioned time-sharing system. It is the purpose of this study to describe the key features of the Amoeba like process management and group communication in terms of their relation to the field of distributed systems and algorithms. We will also discuss some fault-tolerance in the system as well as some applications that are well suited to run on this kind of setup. Finally, we will present the features of Amoeba that constitute its principle strengths, as well as places where the system is lacking, followed by some concluding remarks.