HDFS provides a distributed file system for storing extremely large files across commodity hardware. It is designed for streaming access to data and stores files as blocks that are replicated across multiple DataNodes for reliability. The NameNode manages the file system metadata and coordinates the DataNodes, which store the actual data blocks. HDFS supports distributed, reliable storage of petabytes of data through this block and replication design.