A grande maioria dos programas precisa de uma estrutura permanente para armazenamento dos dados e informações. Comumente, cabe aos dispositivos de memória secundária prover esta capacidade.
Como o processo de gerenciamento do hardware de um disco rígido é algo que demanda conhecimento especializado, fez-se necessária a criação de uma interface que permitisse ao programador abstrair parte da complexidade relacionada à operação destes dispositivos no momento de criação dos seus programas.
São diversas as implementações de sistemas de arquivos, cada uma com uma estrutura própria e voltada a um determinado sistema operacional. De uma forma geral, os sistemas de arquivos permitem a utilização do disco rígido para realização de operações como o armazenamento e a leitura de dados, tornando este dispositivo de hardware disponível para todos os programas instalados no computador.