Introduction to the Principles of Distributed Computing

Get introduced to Distributed Computing Principles.

Overview of distributed systems

Andrew Tanenbaum, a prominent computer scientist, defines a distributed system as follows:

A distributed system is a collection of independent computers that appear as a single coherent system to its users.

Whenever we refer to the term “computer” in this course, we will mean both a physical computer and a virtual machine.

Consider a physical computer with one or more virtual machines in it (which is the norm lately).

These computers cooperate to achieve a common goal. They don’t need to be located in the same room or building. In fact, they don’t know much about each other.


So how do these computers communicate?

They pass messages to each other, just like students did at school using paper pieces, before online messaging became an integral part of our lives.

Distributed system communication is a very complex topic, so let’s continue to think of it in this simplified way for the purposes of this course.

Just remember that all communication methods are based on exchanging messages through a network, and do not rely on the fact that some computers are in the same physical machine, as mentioned above.

In such a case, they might share part of the system’s memory. However, in the distributed paradigm, this is a bad practice and should be avoided at all costs.

Get hands-on with 1200+ tech skills courses.