Dado um tamanho de bloco de 4 KB, quando um arquivo de 1 KB é lido do disco e armazenado em cache na memória principal, todo o bloco de 4 KB que contém o arquivo é armazenado em cache?
Da mesma forma, se abrir um arquivo de 100 KB, buscar 50 KB e depois ler 1 KB de dados, apenas o bloco de 4 KB que contém o 1 KB de dados lidos será armazenado em cache na memória principal e não o arquivo inteiro?
Estou assumindo o sistema de arquivos ext4, mas não preso a ele.
Sim.
Os princípios básicos de cache de página do Linux
e
Isso se aplica a sistemas de arquivos baseados em blocos, ou seja, ccfs, ext?, gfs, ifs, xfs, conforme mostrado em seu diagrama . Também é confirmado pelo Page Cache, o Affair Between Memory and Files , que afirma explicitamente:
e o terceiro parágrafo dessa página da web confirma apenas o bloco de 4 KB que contém o 1 KB de dados lidos em cache na memória principal e não o arquivo inteiro.