This text is intended to provide a concise introduction to Distributed systems as a first course or alternatively as a useful reference on an Operating systems or Networking course. This text presents the key issues pertinent to the design and construction of a distributed system in a logical manner. These issues include architecture, distributed resource management and accessing distributed resources.