A distributed file system allows files to be stored on multiple computers that are connected over a network. It implements a common file system that can be accessed by all computers. Key goals are network transparency, so users can access files without knowing their location, and high availability, so files can always be easily accessed regardless of physical location. The main components are a name server that maps file names to locations, and cache managers that store copied of remote files locally to improve performance. Mechanisms like mounting, caching, bulk data transfer, and encryption help build robust distributed file systems.