Distributed Operating Systems by Andrew S. Tanenbaum