O fato de os arquivos de curta duração serem gravados no disco ou não depende não apenas do comportamento padrão do cache de arquivos do kernel, mas também dos detalhes da implementação do driver do sistema de arquivos e das opções de montagem do referido sistema de arquivos. É possível configurar o sistema de forma que tudo seja imediatamente imediatamente gravado no disco (essencialmente, comportamento semelhante ao DOS).
Um sistema de arquivos, destacando o comportamento de seu interesse (a chamada "alocação atrasada") é o XFS. Com ele, você pode ter mais ou menos certeza (caso não haja opções de configuração engraçadas em outros lugares) de que os blocos pertencentes a apenas arquivos excluídos serão reutilizados na memória, sem acesso intermediário ao disco. O XFS ainda pode querer atualizar seu diário de metadados (que será gravado no disco com bastante frequência; ainda, como o diário do XFS é apenas metadado, ele é pequeno o suficiente para ser definido em outro dispositivo rápido, como a RAM suportada por bateria encontrada em muitos controladores RAID).
Devido a esse comportamento, não é incomum encontrar arquivos completamente zerados, mas de outra forma legítimos (tamanho e outros metadados intactos) em um sistema de arquivos XFS após uma súbita interrupção de energia. Esse é um custo do suporte a operações rápidas de arquivos "semi-temporários".
Alguma teoria
Em geral, uma chamada do sistema que acessa um sistema de arquivos termina rapidamente, no método definido pelo driver do sistema de arquivos (anexado a "struct inode_operations" e "struct file_operations" quando o driver VFS é registrado). O que acontece depois disso fica a critério exclusivo da implementação do sistema de arquivos. Normalmente, algo semelhante à seguinte abordagem é usada (este exemplo simples é do driver FAT do linux):
if (IS_DIRSYNC(dir))
(void)fat_sync_inode(dir);
else
mark_inode_dirty(dir);
Se o sistema de arquivos estiver montado no modo "sincronização", todas as alterações serão colocadas no disco imediatamente (neste caso, por meio de fat_sync_inode ()). Caso contrário, o bloco será marcado como "sujo" e permanecerá no cache de memória até ser liberado em alguma oportunidade razoável.
Portanto, é impossível prever o comportamento do sistema em relação aos arquivos transitórios sem considerar as opções de montagem do sistema de arquivos e inspecionar o código fonte de sua implementação (isso, é claro, se aplica principalmente a todos os tipos de sistemas de arquivos exóticos encontrados principalmente no espaço incorporado) .