A distributed system is a collection of independent computers that appears to its users as a single coherent system. It provides various forms of transparency such as hiding location, failure recovery and concurrency. Distributed systems face scalability challenges and employ techniques like dividing resources across multiple servers. They use concepts such as middleware, distributed operating systems and network operating systems to manage resources and provide transparency.