This document provides an overview of distributed systems. It begins by defining distributed systems as a collection of autonomous computing elements that appear as a single coherent system due to collaboration. It then discusses the goals of distributed systems as supporting resource sharing, making distribution transparent, being open, and being scalable. The document also covers different types of distributed systems including high performance computing systems, distributed information systems, and pervasive systems. Key characteristics like concurrency, replication, and failure transparency are also discussed.