This document provides an introduction to distributed systems, including their key features and some related concepts. It discusses how distributed systems build upon networking to allow independent machines to act as a single system transparently to users. The document also mentions client-server architectures, advantages like economies of scale and fault tolerance, challenges around naming, operating systems, shared memory, and other issues in distributed environments.