A distributed system consists of multiple autonomous computers that are linked through software to appear as a single integrated system. Distributed systems have several desirable features including resource sharing, concurrency to allow multiple users simultaneous access, openness through public specifications, transparency so users are unaware of remote resources, scalability to grow by adding computers, and fault tolerance to continue functioning if components fail. Examples of distributed systems include the internet, university computing centers, and ATM networks.