As distributed computer systems become more pervasive, there is a need for a book that explains how their operating systems are designed and implemented. This book, which is a revised and expanded Part II of "Modern Operating Systems" aims to fulfil that need. It covers the material from the original book, including communication, synchronization, processes and file systems, and adds new material on distributed shared memory. It also contains four detailed case studies, Amoeba, Mach, Chorus, and OSF/DCE.