An introduction to issues in contemporary operating systems which progresses from concepts that apply to all operating systems to the principles of distributed operating systems. Topics on distributed systems include system management, nets, distributed storage and remote procedure calls.