This document contains lecture notes for an Advanced Operating Systems class. It discusses various communication models for distributed systems, including message passing, distributed shared memory (DSM), and remote procedure call (RPC). It provides examples of DSM systems like IVY and Linda that use different approaches. It also describes how RPC works, issues like binding and semantics, and optimizations like light-weight RPC to improve performance of local calls.