This document provides an overview of distributed systems. It defines a distributed system as a collection of independent computers that appears as a single coherent system to users. Distributed systems are characterized by no shared memory, each computer running its own OS, and potential heterogeneity. Key advantages include resource sharing, fault tolerance, and scalability. Challenges include heterogeneity, security, failure handling and concurrency. Examples of distributed systems given are the web, online games, and financial trading networks. The World Wide Web is discussed as a case study, with definitions of web servers, browsers, pages and search engines.