Definition and characteristics of parallel computing, parallel algorithm, grid computing, autonomic computing, distributed computer systems, architectural and software models, remote procedure calls, distributed objects, processes and threads, logical clocks and ordering of events, distributed algorithms (e.g., mutual exclusion, consensus and election, termination detection), pervasive computing, distributed multimedia systems, distributed file systems, replication. Topics include distributed file systems, concurrency, and distributed process coordination. Introduction to network communication issues and special purpose systems such as real time systems, transaction processing systems, and client-server technology. Network Operating Systems; Distributed Operating Systems.