This document provides an introduction to distributed systems. It discusses tightly coupled and loosely coupled multiprocessor systems. Tightly coupled systems have processors that work closely together and may share memory, while loosely coupled systems have independent processors connected over a network. Distributed systems consist of autonomous computers connected through a network that appear as a single system. Key properties are that nodes do not share primary or secondary storage and the system remains functional even if nodes fail. Distributed operating systems run a single OS across all nodes, while network OSes run a full OS on each machine.